(1)先给一个数组输入值
(2)再将其从最后一个下表开始往前输出
import java.util.Scanner;
public class test1 {//数组的逆向输出
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();// 定义一个数组长度
int[] arr = new int[n];// 动态初始化数组
int i;
for (i = 0; i < arr.length; i++) {
arr[i] = in.nextInt();// 用for循环输入
}
for (i = arr.length - 1; i >= 0; i--) {//将数组从最后一个开始往前输入
System.out.printf("%d ", arr[i]);
}
}
}
/*
* 运行结果
* 5
* 1 2 3 4 5
* 5 4 3 2 1
*/
(1)先给第一个数组赋予值
(2)遍历数组将不需要的数字删除,将需要的数字组成一个新的数组
(3)将新的数组输出即可得到去值后的数组
public class test2 {
public static void main(String args[]) {
int[] oldArr = { 1, 3, 4, 5, 0, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5 };
int[] newArr = new int[100];
int i;
int c = 0;
for (i = 0; i < oldArr.length; i++) {
if (oldArr[i] != 0) {
newArr[c++] = oldArr[i];// 如果旧数组中的数据不为0,将其储存再新的数组中
}
}
for (i = 0; i < c; i++) {
System.out.printf("%d ", newArr[i]);// 输出
}
}
}
/*
* 运行结果
* 1 3 4 5 6 6 5 4 7 6 7 5
*/
(1)先给第一个数组赋予值,再给第二个数组赋予值
(2)定义一个新的数组用于储存两个数组,其长度为两个数组长度之和
(3)分别遍历两个数组,将其赋值给新的数组
public class test3 {
public static void main(String args[]) {
int[] a = { 1, 7, 9, 11, 13, 15, 17, 19 };
int[] b = { 2, 4, 6, 8, 10 };
int[] c = new int[a.length + b.length];// 定义一个数组,其长度等于a数组和b数组之和
int i;
int cnt = 0;// 定义一个变量
for (i = 0; i < a.length; i++) {
c[cnt++] = a[i];
}
for (i = 0; i < b.length; i++) {
c[cnt++] = b[i];
}
for (i = 0; i < c.length; i++) {
System.out.printf("%d ", c[i]);// 输出新的数组
}
}
}
/*
* 运行结果
* 1 7 9 11 13 15 17 19 2 4 6 8 10
*/
遍历两个数组,将其赋值给一个新的数组
public class test4 {
public static void main(String args[]) {
String[] a = { "我", "爱", "java" };//初始化数组
String[] b = { "真的", "好", "喜欢" };
String[] c = new String[a.length + b.length];
int cnt = 0;
for (int i = 0; i < a.length; i++) {//遍历第一个数组
c[cnt++] = a[x];
}
for (int i = 0; i < b.length; i++) {//遍历第二个数组
c[cnt++] = b[y];
}
for (int i = 0; i < c.length; i++) {
System.out.print(c[i] + " ");//输出
}
}
}
/*
* 运行结果
* 我 爱 java 真的 好 喜欢
*/
System.arraycopy()就是把一个数组中某一段字节数据放到另一个数组中。
arraycopy(源数组,源数组要复制的起始位置, 目的数组, 目的数组放置的起始位置, 复制的长度)
public class test5 {
public static void main(String args[]) {
String[] a = { "我", "爱", "java" };// 初始化数组
String[] b = { "真的", "好", "喜欢" };
String[] c = new String[a.length + b.length];
System.arraycopy(a, 0, c, 0, a.length);//源数组,源数组要复制的起始位置, 目的数组, 目的数组放置的起始位置, 复制的长度
System.arraycopy(b, 0, c, a.length, b.length);//源数组,源数组要复制的起始位置, 目的数组, 目的数组放置的起始位置, 复制的长度
for (int i = 0; i < c.length; i++) {
System.out.print(c[i] + " ");// 输出
}
}
}
/*
* 运行结果
* 我 爱 java 真的 好 喜欢
*/