[英]Reading text using scanner, storing in array and outputting uppercase using for each loop Java
我必須編寫一個程序來從用戶(鍵盤掃描儀)中讀取10個名稱並將它們存儲在數組中。 然后遍歷數組並以大寫形式顯示名稱(每個循環使用a來顯示所有名稱)。 我該怎么做? 目前,我有:
import java.util.Scanner;
public class Names
{
public static void main(String[] args) throws Exception
{
Scanner nameScan = new Scanner(System.in);
String[] names = new String[10];
String[] namesUpper = new String[10];
System.out.print("Enter a name : ");
names=nameScan.next();
namesUpper=names.toUpperCase();
System.out.println("Names in upper case: "+namesUpper);
}
}
到目前為止,我有這個,但仍然無法正常工作。 請問我哪里出問題了? 謝謝
import java.util.Scanner;
public class NamesReAD
{
public static void main(String[] args) throws Exception
{
Scanner nameScan = new Scanner(System.in);
String[] names = new String[10];
for (int i = 0 ; i < names.length ; i++) {
System.out.print("Enter a name: ");
names[i] = nameScan.nextLine().toUpperCase();
}
nameScan.close();
System.out.println("Here is name"+names);
}
}
for (int i = 0 ; i < names.length ; i++) {
System.out.print("Enter a name: ");
names[i] = nameScan.nextLine().toUpperCase();
}
除了.toUpperCase();以外,本節將起作用。 不會將名稱更改為大寫。
您需要一個for
-loop遍歷數組並將適當的數據放在每個索引處。 例如,
for (int i = 0 ; i < names.length ; i++) {
System.out.print("Enter a name: ");
names[i] = nameScan.nextLine();
}
這將要求用戶輸入名稱10次,並使用用戶輸入的內容填充names
數組。 現在,您實際上不必創建第二個數組( namesUpper
); 您可以再次循環遍歷names
並打印names[i].toUpperCase()
(或按照您的建議使用for
-each循環,但是想法是一樣的)。
現在,這兩行將無法編譯:
names = nameScan.next();
namesUpper = names.toUpperCase();
因為1) names
是一個數組,並且nameScan.next()
返回一個字符串,並且2) names
沒有名為toUpperCase
方法。
編輯 :或者,當您將names
添加到names
數組中時,可以將它們存儲為大寫形式:
for (int i = 0 ; i < names.length ; i++) {
System.out.print("Enter a name: ");
names[i] = nameScan.nextLine().toUpperCase();
}
這樣,當您打印數組的內容時,您將不必擔心任何事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.