如何创建具有 3 个条件的 if 语句? (Java)

问题描述 投票:0回答:3

我一周前才开始学习java。我正在我的学校上课。我正在尝试创建一个测验,但不知道如何打印分数。测验有三种可能性 3/3、2/3、1/3。我遇到的问题是程序末尾附近的 if 语句。

import java.io.*;
import static java.lang.System.*;

import java.util.Scanner;

class t1_lesson03_template{


     public static void main (String str[]) throws IOException {

       Scanner scan = new Scanner(System.in);

       System.out.println("1. What do you type at the begining of a comment?");
       String answer1 = "//";
       String userinput1 = scan.nextLine();

       if (userinput1.equals(answer1)) {
          System.out.println(" Correct!");
       }
       if (!userinput1.equals(answer1)) {
       System.out.println(" Wrong!");
       }
       String answer2 = ("(int)");

       System.out.println("2. What do you type before a double to convert to an int?");
       String userinput2 = scan.nextLine();
       if (userinput2.equals(answer2)) {
         System.out.println(" Correct!");
       }
       if (!userinput2.equals(answer2)) {
         System.out.println(" Wrong!");
       }
       String answer3 = ("int number = 5;");

       System.out.println("3. Create an int called \"number\", and make it equal 5.");
       String userinput3 = scan.nextLine();
       if (userinput3.equals(answer3)) {
         System.out.println(" Correct!");
       }
       if (!userinput3.equals(answer3)) {
        System.out.println(" Wrong!"); 
       }
       if (userinput1.equals(answer1)  && userinput2.equals(answer2)  && userinput3.equals(answer3)) {
         System.out.println("3/3 Awesome!");
       }
       else if (userinput1.equals(answer1) || userinput2.equals(answer2) || userinput3.equals(answer3)) {
         System.out.println("2/3 Good job.");
       }   
       else {
         System.out.println("1/3 Try again.");
       }   

     }

}
java if-statement
3个回答
1
投票

这个,

else if (userinput1.equals(answer1) || userinput2.equals(answer2) 
    || userinput3.equals(answer3)) {

应该是这样的

else if ((userinput1.equals(answer1) && userinput2.equals(answer2)) ||
         (userinput1.equals(answer1) && userinput3.equals(answer3)) ||
         (userinput2.equals(answer2) && userinput3.equals(answer3))) {

但是我更喜欢

count
。以及一个显示不同消息的数组。类似的东西

int count = 0;
if (userinput1.equals(answer1)) {
    count++;
}
if (userinput2.equals(answer2)) {
    count++;
}
if (userinput3.equals(answer3)) {
    count++;
}
String[] result = { "0/3 None", "1/3 Try Again.", "2/3 Good Job.", "3/3 Awesome!" };
System.out.println(result[count]);

0
投票

Не до понимаю или не успеваю за преподом.Быстро объясняет и стирает за собой с доски.参数: у=(хх-1)/(х+2) условии х>2,если не верное, то решаем y=xxx+2xx-x-2,при условии 0 x)xx/


-2
投票

只需在 if 类和 else if 中的每个条件前添加大括号即可

if ((userinput1.equals(answer1))  && (userinput2.equals(answer2))  && (userinput3.equals(answer3))) {
    System.out.println("3/3 Awesome!");
}
else if ((userinput1.equals(answer1)) || (userinput2.equals(answer2)) || (userinput3.equals(answer3))) {
    System.out.println("2/3 Good job.");
}   
© www.soinside.com 2019 - 2024. All rights reserved.