三个语法错误,不确定我在做什么错。初学者代码,if-else语句

时间:2019-06-14 06:04:59

标签: if-statement

我正在尝试编写一个程序,当输入一个句子时该程序将给出特定的响应。

[[如果句子以问号(?)结尾,并且输入的字符数为偶数,则显示单词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]错误:语法错误,将“}”插入   完成块

1 个答案:

答案 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 + "\"");

   }
  }
 }