这作业 今天写完的 应该可以了
- package klw;
- /**
- 需求:给一个数组赋值并让他长度不溢出,每过一段时间询问是否终止程序
- 需要:
- 主函数 main
- 原始的数组 s[]
- 终止控制 Ver
- 键盘录入方法 input()
- 数组长度增加方法 kk()
- 数组元素增加方法 neS()
- */
- import java.util.Scanner;
- class Demo6 {
- 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];
- 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);
- }
- }
- }
复制代码 |