2015-10-21 128 views
0

嘗試構建用戶輸入其大小(例如大,小,L或S)的程序(Java), 然後使用sout說「你選定的大小:小「(例如System.out.println(」您選擇的大小:「+ selectedSize)驗證用戶輸入的短語Java

只是想知道如果theres我能做到這一點,所以它驗證輸入,所以它只會接受短語「小」「大」「L」和「S」

我能找到幫助,對於INT工作,但找不到一個詞/短語,沒有它是非常具體的問題

驗證
import java.util.Scanner; 

{ 
    System.out.print("Enter Size: "); 

    Scanner size = new Scanner(System.in); 

    String selectedsize = size.next(); 

    if (size.hasNext()); 
    { 
    System.out.println("Size Selected is: " + name1); 
    } 
} 

}

可能基本相當了很多你,但感謝您的諮詢!

+0

嘗試hasNext如上所示,但我只能得到它與Ints –

+0

一起使用它是'nextLine'用於字符串輸入。它會等待用戶點擊輸入然後閱讀該行。 –

回答

0

對於控制檯應用程序,我認爲最簡單的方法是檢查用戶是否輸入了正確的大小,如果不是,則循環。

可能:

Scanner in = new Scanner(System.in); 
while(true){ 
    String input = in.nextLine(); 
    switch(input.toLowerCase()) { 
     case "small": 
     case "s": 
      chooseSmall(); 
      break; 
     case "large": 
     case "l": 
      chooseLarge(); 
      break; 
     case "q": 
      System.out.println("Good bye!"); 
      System.exit(0); 
     default: 
      System.out.println("Incorrect option. Please try again."); 
      continue; 
    } 
    break; 
} 

警告:未經測試。 switch語句中的字符串需要Java 7。

0

看看關鍵字switch

它可以代替if(),也仔細看看if()行的結尾......那裏有一些「奇怪」的字符。

另外,如果應在變量selectedsize做...

希望這有助於。

0
public static void main(String[] args) { 
    System.out.print("Enter Size: "); 

    Scanner size = new Scanner(System.in); 

    String selectedsize = ""; 

    if (size.hasNext()) { 
     selectedsize = size.next(); 
    } 

    switch (selectedsize) { 
    case "small": 
    case "s": 
     System.out.println("Size Selected is: " + selectedsize); 
     break; 
    case "large": 
    case "l": 
     System.out.println("Size Selected is: " + selectedsize); 
     break;   
    default: 
     System.out.println("exit"); 
     break; 
    } 

} 
0

您也可以使用ArrayList做類似於使用switch解決方案的東西。任何你添加到這個ArrayList將是一個公認的迴應。

//Set up accepted responses 
ArrayList<String> acceptedResponses = new ArrayList<>(); 
acceptedResponses.add("LARGE"); 
acceptedResponses.add("L"); 
acceptedResponses.add("SMALL"); 
acceptedResponses.add("S"); 

System.out.print("Enter Size: "); 
Scanner size = new Scanner(System.in); 
String selectedsize = size.next(); 
if (acceptedResponses.contains(selectedsize.toUpperCase())){ 
    System.out.println("Size Selected is: " + selectedsize); 
}else{ 
    System.out.println("Not a valid shirt size"); 
} 

希望這會有所幫助。