我一直在尝试编写此代码,其中用户输入带有或不带逗号的两个单词,如果没有逗号,则输出错误,然后循环返回以询问另一组单词。是的,这是家庭作业,我已经在互联网上寻求帮助,到目前为止它还没有点击我。我需要帮助我的代码中的循环,这是java。这些是我的热身程序的一系列要求,后面是我的代码。感谢您提供任何帮助。
1)提示用户输入包含两个以逗号分隔的字符串的字符串。 2)如果输入字符串不包含逗号,则报告错误。 3)从输入字符串中提取两个单词并删除任何空格。存放 字符串在两个单独的变量中并输出字符串。 4)使用循环,扩展程序以处理多行输入。继续 直到用户输入q退出。 这是我的代码:
import java.util.Scanner;
public class ParseStrings {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
Scanner inSS = null;
String lineString = "";
String firstWord = "";
String secondWord = "";
boolean inputDone = false;
System.out.println("Enter input string: ");
while (!inputDone) {
lineString = scnr.nextLine();
inSS = new Scanner(lineString);
if (firstWord.equals("q")) {
System.out.println("Exiting.");
inputDone = true;
}
if (lineString.contains(",")) {
String[] parts = lineString.trim().split("\\s*,\\s*");
firstWord = parts[0];
secondWord = parts[1];
System.out.println("First word: " + firstWord);
System.out.println("Second word: " + secondWord);
} else {
System.out.println("Error: No comma in string");
}
break;
}
return;
}
}
答案 0 :(得分:0)
1)对于return
类型的主方法,您不需要void
语句
2)循环结束时的break
是在第一次运行后终止的。{/ p>
答案 1 :(得分:0)
在循环中编写break;
与告诉循环停止循环是一回事。如果你想定义另一个条件来终止你的循环,但是不想把它放在你的while
中,那么把你的休息放在某种条件下,这样每次都不会发生。
答案 2 :(得分:0)
我想弄清楚当用户输入q时程序退出这里是我的代码到目前为止。
import java.util.Scanner;
公共类ParseStrings {public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
String s = sc.nextLine();
System.out.println("Enter input string: ");
if (s.indexOf(",") == -1) //checks if there is a comma in the string
{
System.out.println("Error: No comma in string");
} else {
//there is a comma in the string
String s1 = s.substring(0, s.indexOf(","));
String s2 = s.substring(s.indexOf(",") + 1);
s1 = s1.replace(" ", "");
s2 = s2.replace(" ", "");
//store both the strings in s1 and s2
System.out.println("First word: " + s1);
System.out.println("Second word: " + s2);
s1 = s1.trim();
s2 = s2.trim(); //remove extra spaces
System.out.println(s1 + " " + s2);
break;
}
}
}
}