[英]I am having trouble splitting string with a comma
這是我的代碼和拋出的錯誤:
import java.util.Scanner;
public class ParseStrings {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
Scanner inSS = null;
String inputString = "";
String firstWord = "";
String secondWord = "";
inSS = new Scanner(inputString);
boolean flag = false;
while (!flag){
System.out.print("Enter input string: \n");
inputString = scnr.nextLine();
if (inputString.equals("q")){
flag = true;
break;
}
// comma = inputString.indexOf(",");
if (!inputString.contains(",")){
System.out.println("Error: No comma in string");
}
// if (comma <= 0)
// {
// System.out.println("Error: No commas in string.");
// flag = true;
// }
// else
// {
else
{
for (int i = 0; i < inputString.length(); i++){
firstWord = inSS.next();
// comma = inSS.next();
secondWord = inSS.next();
System.out.println("First word: " + firstWord);
System.out.println("Second word: " + secondWord);
// flag = false;
}
return;
}
}
}
}
輸入吉爾,艾倫q
您的輸出以Enter輸入字符串開頭: 線程“ main”中的異常java.util.NoSuchElementException at預期的輸出以
輸入輸入字符串:第一個字:Jill第二個字:Allen
有多種方法可以完成此任務,但我想向您介紹Java的String Class中的一些常用方法。
將String.substring()與String.indexOf()方法結合使用,可以快速拆分字符串以獲取所需的數據,它的工作原理如下:
String inputString = "Hello, World"; String firstWord = inputString.substring(0, inputString.indexOf(",")); String secondWord = inputString.substring(inputString.indexOf(",") + 2); // Why use the number 2 above? Read the supplied links. Try it with 1 // to see what happens. System.out.println(firstWord + "-" + secondWord);
另一個值得研究的方法是String.split()方法。 使用此方法,可以通過輸入字符串並將用逗號(或其他任何字符)定界的字符串部分放入一維字符串數組中,從而快速完成您要執行的操作:
String inputString = "Hello, World"; String[] words = inputString.split(", "); System.out.println(words[0] + "-" + words[1]);
了解這些方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.