这是我已经做好的程序,现在想通过在命令行窗口,通过输入字符串“stop”来终止该程序。
以下是程序代码:
- /**
- 需求:
- 提供方法add(int i),该方法可以给数组中的元素赋值,通过该方法可以无限次的给数组添加元素
- (不考虑内存溢出)
- 提示
- 在class Demo{
- static int[] arr = new int[10];
- static int index = 0;
- }
- 在Demo类中增加一个方法add(int i);
- add(int i){
- arr[index++] = i;
- }
- 1、数组的遍历
- 2、多个引用指向同一对象
- 3、计数器
- 分析: 方法add(int i)可以给数组中的元素进行赋值,并无限次地给数据添加元素
- 即:i以新元素的模式加在数组[]的末端。
- 实施方法:
- A:返回值类型:空参数,直接在方法中输出;参数列表:arr[],int i;add(int[] arr,int i)
- 1.方法add中从数组角标0开始赋值,达到最大角标之后,若还有新的i输入,则增大数组长度,并将新i赋值到数组中
- 2.上述过程需判断从角标0开始输入的数字i的位置index<arr.length ?
- true: arr[index++]=i;
- false: 增大数组长度:定义方法extendArray(int[] arr);返回新数组arr1;
- arr1[arr.length]=i;
- 3.i为用户录入的数据,可以创建键盘录入方法,input(),返回值类型为int 即为i
- 4.方法extendArray(int[] arr);创建新数组arr1[x];x=arr.length+1;同时把arr中的各个元素赋值给arr1;
- 5.为了让程序持续输入输出,在add方法中递归;
- B:需要对数组进行输出,定义方法printArray(int[] arr);
- */
- import java.util.Scanner;
- class AddArrayElementDemo
- {
- /**
- add(int[] arr,int i):给数据赋值并可添加元素方法add,
- arr: 为要赋值并添加元素的数组
- i: 要录入的元素
- */
- static int index = 0;//输入数据对应的数组角标;
- public static void add(int[] arr, int i)
- {
- //判断角标与数组长度的大小,若角标小,则对数组中对应角标元素赋值
- //若角标大,则增加数组的长度,并对增加后的数组新元素进行赋值,同时角标+1;
- if (index < arr.length)
- {
- arr[index++]=i;
- printArray(arr);//打印数组
- add(arr,input());//继续执行输入数据
-
- }
- else
- {
- int[] arr1 = extendArray(arr);//增加数组长度
- arr1[arr1.length-1] = i;//对增加后的新元素赋值
- index++;
- printArray(arr1);
- add(arr1,input());//继续执行输入数据
-
- }
- }
- /**
- 键盘录入方法input();
- */
- public static int input()
- {
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入需要添加的数字元素:");
- int i = sc.nextInt();
- return i;
- }
-
- /**
- 将原有数组长度增加1的方法
- */
- public static int[] extendArray(int[] arr)
- {
- //新建数组,长度为原有数组长度+1
- int[] arr1 = new int[arr.length+1];
- //将原有数组对应元素赋值给新数组
- for (int x=0; x<arr.length; x++)
- {
- arr1[x]=arr[x];
- }
-
- return arr1;
- }
- /**
- 输出数组方法
- */
- public static void printArray(int[] arr)
- {
- for (int i=0; i<arr.length; i++)
- {
- System.out.print(arr[i]+" ");
- }
- System.out.println();
- }
-
- //主函数
- public static void main(String[] args)
- {
- int x = 4;
- int[] arr = new int[x];
- int i = input();
- add(arr,i);
- }
- }
- /*
- 需求:在命令窗口可以通过输入:"stop"终止程序
- */
复制代码 |
|