我正在尝试编写一个程序,当输入一个句子时该程序将给出特定的响应。
[[如果句子以问号(?)结尾,并且输入的字符数为偶数,则显示单词Yes。
如果句子以问号结尾,并且输入的字符数为奇数,则显示单词No。
如果句子以感叹号(!)结尾,则显示单词“哇”。
在所有其他情况下,显示单词“您总是说”,然后显示用引号引起来的输入字符串。 ]]
试图四处移动括号,尝试按照错误提示进行操作,但无济于事。
`
import java.util.Scanner;
public class Chapter3ProgrammingProject4_JM
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter a sentence.");
{
String word;
word = keyboard.nextLine();
if ((word.endsWith("?")))
if ((word.length() %2==0))
{
System.out.println("Yes");
}
else if ((word.length() %2!=0));
System.out.println("No");
if((word.endsWith("!")))
System.out.println("Wow");
else
System.out.println("You always say " + \" + word + \");
}
}
}
发现3个错误:
[行:31]错误:语法错误,请插入“)”以完成 MethodInvocation [行:31]错误:语法错误,插入“;”至 完整的语句[行:31]错误:语法错误,将“}”插入 完成块
答案 0 :(得分:0)
您需要在第31行转义双引号。工作代码:
import java.util.Scanner;
public class Chapter3ProgrammingProject4_JM
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter a sentence.");
{
String word;
word = keyboard.nextLine();
if ((word.endsWith("?")))
if ((word.length() %2==0))
{
System.out.println("Yes");
}
else if ((word.length() %2!=0));
System.out.println("No");
if((word.endsWith("!")))
System.out.println("Wow");
else
System.out.println("You always say " + "\"" + word + "\"");
}
}
}