[英]How do you have the user set the variable?
我試圖讓用戶為他們設置的數字設置名稱。 例如,如果他們設置為 3,則程序會詢問名稱 3 次,然后將這些名稱設置為數組內的不同變量。
public static void main(String[] args) {
Scanner Num = new Scanner(System.in);
Scanner Name = new Scanner(System.in);
System.out.println("How many names do you want to enter: ");
int number = Num.nextInt();
int[] numbs = new int[number];
for (int i = 0; i < numbs.length; i++) {
System.out.println("What is your name");
String [] nameArray = Name.nextLine();
只是對泰坦的答案的一個小改進。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("How many names do you want to enter: ");
int numberOfTimes = sc.nextInt();
String[] names = new String[numberOfTimes];
sc.nextLine();
for (int i = 0; i < numberOfTimes; i++) {
System.out.println("What is your name");
names[i] = sc.nextLine();
}
System.out.println(Arrays.toString(names));
}
以下是您發布的代碼中發生的幾件事:
int number = Num.nextInt()
)后,您正在使用該數字創建大小為“數字”的數組String []
)。這是一個解決這些問題的變體,也有一些補充:
new int[-1]
)將在運行。String[]
),匹配方法的返回類型Scanner scanner = new Scanner(System.in);
System.out.print("How many names do you want to enter: ");
int times = scanner.nextInt();
if (times < 0) {
System.out.println("negative numbers not allowed");
} else {
String[] names = new String[times];
for (int i = 0; i < times; i++) {
System.out.print("What is your name: ");
names[i] = scanner.next();
}
System.out.println(Arrays.toString(names));
}
這是一個示例運行:
How many names do you want to enter: 3
What is your name: one
What is your name: two
What is your name: three
[one, two, three]
在循環外創建一個數字長度的字符串數組,並使用名稱作為輸入初始化每個索引。
順便說一句,您只需要為輸入創建一個掃描儀object(不需要為不同的輸入創建各種對象)。
編輯- 沒有使用 numbs 數組。
Scanner sc=new Scanner(System.in);
System.out.println("How many names do you want to enter: ");
int number = sc.nextInt();
String []nameArray=new String[number];
/*Since nextInt() does not read the newline character in your input
created by hitting "Enter"*/.
sc.nextLine();
for (int i = 0; i < number; i++) {
System.out.println("What is your name");
nameArray[i]=sc.nextLine();
}
sc.close(); //To prevent memory leak
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.