我正在完成家庭作业,无法在我的在线教科书或其他任何地方找到答案。
我的作业问题分为四个部分:
提示用户输入包含两个以逗号分隔的字符串的字符串。
如果输入字符串不包含逗号,则报告错误。继续提示,直到输入有效字符串。注意:如果输入包含逗号,则假设输入还包含两个字符串。
从输入字符串中提取两个单词并删除所有空格。将字符串存储在两个单独的变量中并输出字符串。
使用循环,扩展程序以处理多行输入。继续,直到用户输入q退出。
Final outcome should print out as follows: Enter input string: Jill, Allen First word: Jill Second word: Allen
Enter input string: Golden , Monkey First word: Golden Second word: Monkey
Enter input string: Washington,DC First word: Washington Second word: DC
输入输入字符串:q
我的代码输出不正确。我不知道如何制作自动,不是在我的第一个单词后显示或显示为我的第二个单词。我试过用
String [] array = s.split(",);
并且类程序无法识别此命令和错误。
这是我的代码:
import java.util.Scanner;
public class ParseStrings {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
Scanner inSS = null;
String firstWord = " ";
String secondWord = "";
String lineString = "";
boolean inputDone = false;
while (!inputDone) {
lineString = scnr.nextLine();
inSS = new Scanner(lineString);
firstWord = inSS.next();
System.out.print("Enter input string: \n");
if (firstWord.equals("q")){
System.out.println("First word: " + firstWord);
inputDone = true;
} else {
secondWord = inSS.next();
System.out.println("First word: " + firstWord);
System.out.println("Second word: " + secondWord);
System.out.println();
}
}
return;
}
}
如何编码此字符串以包含和排除逗号并打印出错误。我不明白我需要做什么。
答案 0 :(得分:1)
我不想写解决方案的代码。只需给你一些意见,就可以自己做出正确答案。毕竟这是你的运动。
Scanner
就足够了。lineString
scnr.nextLine()
split
通常有助于弄清楚答案 1 :(得分:0)
import java.util.Scanner;
public class ParseStrings {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String userInput = "";
boolean inputDone = false;
while (!inputDone) {
System.out.print("Enter input string: \n");
userInput = scnr.nextLine()
if (userInput.equals("q")){
System.out.println("First word: " + userInput);
inputDone = true;
} else {
String[] userArray = userInput.split(",");
System.out.println("First word: " + userArray[0]);
System.out.println("Second word: " + userArray[1]);
System.out.println();
}
}
return;
}
}
说明:
首先,创建一个对象Scanner
。然后,用户的输入存储在userInput
中。之后,java检查用户是否输入q,如果是,则结束应用程序。否则,java将字符串拆分为两个单词然后打印出来。
请记住,理解代码是学习编程语言的一个非常重要的过程,所以请理解代码,而不是复制并粘贴它作为您的作业提交。
答案 2 :(得分:0)
我在课堂上遇到了同样的问题,这对我来说是一个非常具有挑战性的问题。使用此处发布的代码,我可以得到正确的答案,只需要对其进行非常小的修改。感谢您的帮助。下面是上面我用来获取正确答案的代码的修改版本。
import java.util.Scanner;
public class ParseStrings {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String userInput = "";
boolean inputDone = false;
while (!inputDone) {
System.out.print("Enter input string: \n");
userInput = scnr.nextLine();
if (userInput.equals("q")){
inputDone = true;
break;
}
if(userInput.indexOf(",") == -1){ //if comma is not found in the user input
System.out.println("Error: No comma in string");
continue;
}
else {
String[] userArray = userInput.split(",");
System.out.println("First word: " + userArray[0].trim());
System.out.println("Second word: " + userArray[1].trim());
System.out.println();
System.out.println();
}
}
return;
}
}