Могу ли я сравнить, используя.equal() для двух или более вещей одновременно

Я должен определить четыре логических переменных следующим образом:

  • Первокурсник для студентов 1 или 2 уровня.
  • Второкурсник для студентов от 3 до 5 уровня.
  • Младший для студентов в уровнях от 6 до 8.
  • Старший для учащихся 9 или 10 уровня.

пользователь вводит код курса, затем я решаю, какой уровень является студентом (пользователем), а затем определяю 4 булевых переменных в зависимости от уровня.

Но я не знаю, как это сделать equal() на две вещи или больше.

это мой код:

import java.util.*;

public class point8 {
    static Scanner input = new Scanner(System.in);

    public static void main(String[] args) {

        // declaring
        String CourseCode, Level;
        boolean Freshman, Sophomore, Junior, Senior;

        // input
        System.out.println("Course code:");
        CourseCode = input.next().toUpperCase();
        System.out.println("\nCourse Code: " + CourseCode);

        // output
        Level = CourseCode.substring(CourseCode.length() - 1);
        System.out.println("Student Level: " + Level);

        Freshman = Level.equals("1");
        System.out.println("Freshman: " + Freshman);

        Sophomore = Level.equals("3");
        System.out.println("Sophomore: " + Sophomore);

        Junior = Level.equals("6");
        System.out.println("Junior: " + Junior);

        Senior = Level.equals("9");
        System.out.println("Senior: " + Senior);

    }
}

Что я должен сделать, чтобы сравнить с уровня 1 или 2 для новичка и сравнить с уровня 3 до 5 для второкурсника?

2 ответа

Решение
if(Level.equals("9") || Level.equals("10"))
{
  //Senior
}

Обновление: оператор OR - это то, что вы должны изучить в первые пару недель. Единственное, что более важно, - это просто выписать второе утверждение if.

if(Level.equals("9"))
{
  //Senior
}
else if(Level.equals("10"))
{
 //Senior
}

Мне кажется, что вы лучше использовать целые числа, просто разберите String в int,

Например:

int myLevel = Integer.parseInt(Level);
if(myLevel >= 3 && myLevel <= 5)
{
  System.out.println("Sophomore: " + Sophomore);
}

Вы можете получить ошибку, если пользователь вставит букву вместо цифры, чтобы избежать этого, вам нужно перехватить исключение и обработать его. Это, однако, совсем другая история, но вы должны прочитать об этом: https://docs.oracle.com/javase/tutorial/essential/exceptions/

Другие вопросы по тегам