我刚开始学习Java,我需要有关如何修改程序的帮助,以便在使用while循环验证输入时将数组大小作为用户输入,从而拒绝无效整数。
此外,使用 while 循环,获取键盘输入并为每个数组位置分配值。
我将不胜感激任何帮助!
这是代码:
double salaries[]=new double[3];
salaries[0] = 80000.0;
salaries[1] = 100000.0;
salaries[2] = 70000.0;
int i = 0;
while (i < 3) {
System.out.println("Salary at element " + i + " is $" + salaries[i]);
i = i + 1;
}
使用 while 循环并从用户那里获取输入非常简单 请参考下面的代码,您将了解如何从用户那里获取输入以及 while 循环的工作原理。 将所有代码放入main()
函数中,导入import java.util.Scanner;
并执行它并进行修改以了解代码。
Scanner sc= new Scanner (System.in); // this will help to initialize the key board input
System.out.println("Enter the array element");
int N;
N= sc.nextInt(); // take the keyboard input from user
System.out.println("Enter the "+ N + " array element ");
int i =0;
double salaries[]=new double[N]; // take the array lenght as the user wanted to enter
while (i<N) { // this will get exit as soon as i is greater than number of elements from user
salaries[i]=sc.nextDouble();
i++; // increment value of i so that it will store in next array element
}
您可以使用 Scanner 类从用户那里获取输入
Scanner sc=new Scanner(System.in);
System.out.println("Enter the number of elements");
int n=sc.nextInt();
double salaries[]=new double[n];
for(int i=0;i<n;i++)
{
salaries[i]=sc.nextDouble();
}
您还可以使用for
循环并使用用于从keybord获取输入的类Scanner
。
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
System.out.println("Please enter the length of array you want");
Scanner scanner = new Scanner(System.in);
int length = scanner.nextInt();
double salaries[]=new double[length];
System.out.println("Please enter "+ length+" values");
for(int i=0;i<length; i++){
scanner = new Scanner(System.in);
salaries[i] = scanner.nextDouble();
}
scanner.close();
}
}
在java上,如果你指定数组大小,你不能改变它,所以你需要在添加任何值之前知道数组大小,但你可以像ArrayList
一样使用List实现,以便能够在不关心数组大小的情况下添加值。
例:
List<Double> salarie = new ArrayList<Double>();
while (i<N) { // this will get exit as soon as i is greater than number of elements from user
salarie.add(sc.nextDouble());
i++; // increment value of i so that it will store in next array
}
请阅读这些文章以获取更多详细信息:
数组与数组列表
之间的差异 区分数组列表的容量和数组的大小