作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个程序,它将接受一个字符串并将其解析为两个输出,分隔符是逗号。它循环直到用户输入字符“q”。
即:控制台提示输入,用户输入“first、second”,第二次提示输入“q”,输出结果为:
Enter input string:
First word: first
Second word: second
Enter input string:
如果输入中没有逗号,则抛出错误并再次提示
即用户输入“第一秒”,输出将是:
Enter input string:
Error: No comma in string
Enter input string:
以下是我目前所掌握的内容:
import java.util.Scanner;
public class ParseStrings {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in); // Scanner for standard input
Scanner inSS = null; // Scanner to write input to buffer
String firstWord = ""; // First word string
String secondWord = ""; // Second word string
String userInput = ""; // Input from prompt
int i = 0; // Loop iterator
boolean inputDone = false; // Boolean to repeat while loop
boolean hasComma = false; // Boolean to check for comma
// Do while inputDone is false
while (!inputDone) {
//Prompt user to input a string
System.out.println("Enter input string: ");
// Write string to userInput
userInput = scnr.nextLine();
// Exit program if user inputs q
if((userInput.equals("q"))) {
inputDone = true;
break;
}
else{
// Write userInput to buffer
inSS = new Scanner(userInput);
// Write first word from buffer
firstWord = inSS.next();
// Loop through first word string
for (i = 0; i < firstWord.length(); ++i) {
// If char is a comma, write everything after to secondWord and set inputDone to true
if(firstWord.charAt(i) == ',') {
secondWord = inSS.next();
hasComma = true;
}
}
// If hasComma is false, return error
if (!hasComma){
System.out.println("Error: No comma in string");
}
// Else print first word and second word
else {
System.out.println("First word: " + firstWord);
System.out.println("Second word: " + secondWord);
System.out.println("");
System.out.println("");
}
}
}
return;
}
}
问题:
提前谢谢您!
最佳答案
尝试使用字符串分割。
String str="first, second";
String[] arr=str.split(",");
if(arr.length == 2) {
System.out.println("First :" + arr[0]);
System.out.println("Second :" + arr[1]);
} if(arr.length > 2) {
System.out.println("More than 1 comma used.");
} else {
System.out.println("Error. No comma found.");
}
如果您的字符串在逗号周围有空格,您可以使用trim()。
关于java - 如何在不使用 .parse() 的情况下解析 Java 中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47292820/
我是一名优秀的程序员,十分优秀!