A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/**
需求:给一个数组赋值并让他长度不溢出,每过一段时间询问是否终止程序
需要:
主函数                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);
                }

        }
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马