2013-10-29 102 views
0

我正在製作一個程序,將用戶的3位數字輸入,然後將這些單獨的數字與我擁有的數字進行比較。拆分輸入

如何將這些使用輸入數字拆分並保存爲單個整數?

+1

依賴於編程語言:) – Maroun

+1

噢,對不起,爪哇當然 – Stijn

+0

你看到['String'](http://docs.oracle.com/javase/7/docs/api/java/lang /String.html)API? – Maroun

回答

2

String.split()Integer.parseInt()是你的朋友。

String input = "1 2 3"; 
String[] spl = input.split(" "); //Or another regex depending on the input format 
for (String s : spl) { 
    System.out.println(Integer.parseInt(s)); // or store them as you like 
} 
0
String input = "12 23 12"; 
String[] split = input.split(" "); // or "\t" according to need 
int[] arr = new int[split.length]; 
int count = 0; 
for(String s:split) 
{ 
    arr[count] = Integer.parseInt(s).intValue(); 
    count++; 
} 
0

有一種添加到Java 1.5非常方便類稱爲Scanner

這是我的示例程序,讀取String,查找所有十進制數並將它們打印到控制檯。分隔符默認爲空格

public static void main(String[] args) { 
     String userInput = "1 2 3 4 5 6"; 
     try (Scanner scanner = new Scanner(userInput)) { 
      scanner.useRadix(10); 
      while (scanner.hasNextInt()) { 
       int i = scanner.nextInt(); 
       System.out.println(i); 
      } 
     } 
    } 

例如, String userInput = "1 2 3 4 5 df 6"; //輸出1 2 3 4 5

有幾個優點:

  • 無需調用parseInt方法,即可以拋出未經檢查的異常NumberFormatException如果用戶輸入不正確。原語類型int(或任何其它對你的選擇)
  • 輸入源的
  • 返回值可以容易地改變至FileInputStreamReadableReadableByteChannelPath