我在编译一个数组的时候,我只知道一个数组里面有几个元素,但是不知道元素具体代表的值,而这个值我需要在键盘上输进去,那我该怎么编程呢?
初始化一个数组就可以了,然后添加值:
int[] array = new int[10];
System.out.println("请输入数组元素的值:");
for (int i = 0; i < length; i++) {
System.out.print("元素 " + (i + 1) + ": ");
array[i] = scanner.nextInt();
}
该回答引用chatgpt:
package com.test;
import java.util.Scanner;
public class ArrayInputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数组的长度:");
int length = scanner.nextInt();
int[] array = new int[length];
System.out.println("请输入数组元素的值:");
for (int i = 0; i < length; i++) {
System.out.print("元素 " + (i + 1) + ": ");
array[i] = scanner.nextInt();
}
System.out.println("您输入的数组为:");
for (int i = 0; i < length; i++) {
System.out.println("元素 " + (i + 1) + ": " + array[i]);
}
scanner.close();
}
}
要编程,第一步是先了解要求
你都不知道数组里到底要存个什么,还编什么程
你必须了解清楚数组里到底要存几个数据(可以不确定数量,但是要知道如何分割,以什么作为结束符)
每个数据都是什么类型
每个数据代表什么含义
你都不知道数据的含义,那后面代码里要如何使用它呢
如果你只需要把输入的数据原样保存到文件,那确实不需要知道每个数据到底干什么用的
但是把数据保存到文件本身就是用途
你总得知道它到底要用来干什么呀
int countsDifferent=0; // 标签数字与数组元素不同的次数
int different=0; // 标签数字
Random rd= new Random();
outCycle: //外层循环标签
/**产生标签数字并验证
***/
while(true){
different=rd.nextInt(); // 产生一个标签数字
for(int num : copiedNums){
/**如标签数字与数组中任一元素相同,
* 则退出内层循环,继续产生新的标签数字,进行
* 下一次外层循环,即再次进行些内层循环中
**/
if(different == num ){
break;
/**如标签数字与数组中任一元素不同,
* 标签不同次数变量则加1,当countsDifferent等于
* 数组长度时,则表明标签数字与数组所有元素都不同。
* 此时退出外层循环,即整个二重循环体结束。标签数字
* 达的值达到了设计目的。
**/
}else{
countsDifferent++;
if(countsDifferent>=copiedNums.length){
break outCycle;
}
}
}
}
问题解答:
要实现用户从键盘上输入数组的元素值,可以通过Scanner类来实现。具体的步骤如下:
代码如下所示:
import java.util.Scanner;
public class InputArray {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); // 创建Scanner对象
System.out.print("请输入数组的长度:");
int len = input.nextInt(); // 获取数组的长度
int[] arr = new int[len]; // 声明一个数组,并指定数组长度
System.out.println("请输入数组的元素值:");
for (int i = 0; i < len; i++) {
arr[i] = input.nextInt(); // 依次输入数组元素值
}
System.out.print("数组元素值为:");
for (int i = 0; i < len; i++) {
System.out.print(arr[i] + " "); // 输出数组元素值
}
}
}
使用示例:
请输入数组的长度:5
请输入数组的元素值:
1
2
3
4
5
数组元素值为:1 2 3 4 5
需要注意的是,在输入结束后,需要通过Ctrl+Z组合键(Windows系统)或Ctrl+D组合键(Unix/Linux/Mac系统)告诉程序输入已结束,否则Scanner类将一直等待输入。