我在這裏寫了一個代碼來執行以下操作: 提示用戶輸入多少個數字。我們稱這個值爲userRequest。 那麼,userRequest次我們做下面的事情: 讀一個字符串。這個字符串的形式是:數字和字母的混合。 返回字符串的整數和分隔的字母。如何在循環內創建一個數組,然後能夠在Java中的循環之後調用它?
但在返回代碼中,我逐個字符地掃描了字符串,因此它分別打印每個輸入。但是,我的問題是,如何將字母一起打印成一個整數和字母。 (我覺得需要數組,但我無法調用數組時,它在一個循環內)
import java.util.*;
public class Program8{
public static void main(String[] args){
Scanner scan = new Scanner (System.in);
int userRequest;
int returnNum;
System.out.print("How many numbers do you wish to enter? ");
while (!scan.hasNextInt()){
System.err.print("Please try again, with digits only: ");
scan.next();
}//while
userRequest = scan.nextInt();
int sortingNum = 1;
String str;
char ch;
str = scan.nextLine();
for (int i = 0; i < userRequest; i++){
System.out.print("* Please enter a string #" + sortingNum + ": ");
str = scan.nextLine();
System.out.println("- String #" + sortingNum++ + " = " + str);
for (int j = 0; j < str.length(); j++){
ch = str.charAt(j);
if ((ch + 0) >= 48 && (ch + 0) <= 57){
int digit = ((ch + 0) - 48);
System.out.println(digit);
}
}
System.out.println();
for (int k = 0; k < str.length(); k++){
if (str.toLowerCase().charAt(k) >= 'a' && str.toLowerCase().charAt(k) <= 'z')
System.out.println(str.charAt(k));
}
}//for
}//main
}//Program8
快速的解決方案,你可以嘗試使用'print',而不是'println' – 2014-11-21 05:33:50
你可以調用一個循環中的數組,就不要嘗試宣告它裏面的loop:P儘管這裏不需要數組。 Eran下面的答案很有幫助。 – 2014-11-21 05:39:37
我知道,但這會限制我使用後者的能力。例如,如果我想總結所有整數,這將是一個問題。 – Bader 2014-11-21 05:40:36