/**
需求:给一个数组赋值并让他长度不溢出,每过一段时间询问是否终止程序
需要:
主函数 main
原始的数组 s[]
终止控制 Ver
键盘录入方法 input()
数组长度增加方法 kk()
数组元素增加方法 neS()
*/
import java.util.Scanner;
public class ArrayTest4 {
public static void main(String[] agrs) {// 创建主方法main
int[] s = { 11, 22, 33, 44, 55, 66, 77, 88, 99 };// 原始数组赋值
int y = 1;// 控制程序终止的自变量
int x = s.length;// 提取原始数组长度
neS(s, x, x);// 调用方法neS
}
public static void neS(int[] s, int x, int y) {
x++;// 控制a[]的长度
y++;// 控制程序终止
int[] a = new int[x];
// System.out.println(a.length);
// System.out.println(s.length);
for (int i = 0; i < s.length; i++) {// 把运算之后的数组s赋值给
// 新new出来的数组a
a[i] = s[i];
}
if ((y) % 5 == 0) {// 开始程序询问的条件
System.out.println();
Ver(a, x, y);
} else
input(a, x, y);
}// 调用键盘录入方法
private static void Ver(int[] a, int x, int y) {
Scanner ss = new Scanner(System.in);
System.out.print("已有" + x + "个元素,还继续添加吗?(1/0;其他数都视为0)");
int b = ss.nextInt();
if (b == 1) {
x--;
neS(a, x, y);
} else {
System.out.println("程序结束");
System.out.println("最终的结果是");
for (int i = 0; i < a.length - 1; i++)
System.out.print(a[i] + " ");
}
}
public static void input(int[] a, int x, int y) {// 键盘录入
Scanner s = new Scanner(System.in);
System.out.println();
System.out.print("输入一个数");
int y1 = s.nextInt();
kk(a, x, y1, y);// 把录入的数交给下个方法
}
public static void kk(int[] a, int x, int y1, int y) {// 把把录入的数加进数组
a[x - 1] = y1; // 增加元素完成
for (int i = 0; i < x; i++) {
System.out.print(a[i] + " ");
}
if (1 > 0) {
// 打印后再次调用数组长度增加方法
neS(a, x, y);
}
}
}
|
|