字符类型中的if / else语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符类型中的if / else语句相关的知识,希望对你有一定的参考价值。

我想编写一个程序,输入1到4年的年代码和输出年级。

注意:使用if ... else语句和年份代码是字符类型。 (如果使用Array更好,我不允许使用数组,因为这是在条件控制结构中。在这之后,如何使用switch .... case语句编写这个程序?

如何声明char并从用户那里获得输入?

import java.util.Scanner;
import java.io.*;

public class CharStatement {

    public static void main(String[] a) {

    char userInput = new char;
    Scanner keyboard = new Scanner(System.in);
    System.out.print("Enter year code: ");  
    System.out.println("");

    if (char == 1) {
    System.out.println("First Year");
    System.out.println("Freshmen");     
    }
    else if ( char == 2) {
        System.out.println("Second Year");
        System.out.println("Sophomore");            
    }
    else if (char == 3) {
        System.out.println("Third Year");
        System.out.println("Junior");   
    }
    else if (char == 4) {
        System.out.println("Fourth Year");
        System.out.println("Senior");   
    }
    else {
        System.out.println("Invalid");
    }

}
答案

在java中接受单个字符有点乱。有关这方面的更多信息,请查看this

您可以使用int执行相同的操作,如下所示,作为代码中的修改,

System.out.println("");
int choice  = keyboard.nextInt()   // accepts an integer from the user
if (choice == 1) {                 // check if the given input is equal to 1
    System.out.println("First Year");
    System.out.println("Freshmen");     
}

此外,您不能将变量命名为Java中的char,因为它是keyword

另一答案
  1. 如果你正在输入数字,那么使用整数类型而不是char类型。
  2. 您已创建扫描仪类的对象,但您忘记从键盘获取用户输入。
  3. 您不能将char用作变量名,因为它是关键字。

所以,修改后的代码使用if-else:

    import java.util.Scanner;

    public class IfStmt 
    {
         public static void main(String[] args) 
         {
             Scanner keyboard = new Scanner(System.in);
             System.out.print("Enter year code: ");  
             int year=keyboard.nextInt();
             System.out.println("");

             if (year == 1) 
             {
                 System.out.println("First Year");
                 System.out.println("Freshmen");     
             }

             else if ( year == 2) 
             {
                 System.out.println("Second Year");
                 System.out.println("Sophomore");            
             }

             else if (year == 3) 
             {
                 System.out.println("Third Year");
                 System.out.println("Junior");   
             }

             else if (year == 4) 
             {
                 System.out.println("Fourth Year");
                 System.out.println("Senior");   
             }

             else 
             {
                 System.out.println("Invalid");
             }
        }
    }

使用switch case修改代码:

import java.util.Scanner;

public class SwitchStmt 
{
    public static void main(String[] args) 
    {
        Scanner keyboard = new Scanner(System.in);
        System.out.print("Enter year code: ");  
        int year=keyboard.nextInt();
        System.out.println("");

        switch(year)
        {
            case 1:
                System.out.println("First Year");
                System.out.println("Freshmen");
                break;

            case 2:
                System.out.println("Second Year");
                System.out.println("Sophomore");
                break;

            case 3:
                System.out.println("Third Year");
                System.out.println("Junior");
                break;

            case 4:
                System.out.println("Fourth Year");
                System.out.println("Senior");
                break;

            default:
                System.out.println("Invalid");
        }
    }
}
另一答案

用它,它的工作原理。 ^ _ ^看到差异

import java.util.Scanner;

public class GradedExercise34
{
     public static void main(String[] args)
     {
         Scanner keyboard = new Scanner(System.in);
         System.out.print("Enter year code: ");
         char in=keyboard.next( ).charAt(0);
         System.out.println("");

         if (in == '1')
         {
             System.out.println("First Year");
             System.out.println("Freshmen");
         }

         else if ( in == '2')
         {
             System.out.println("Second Year");
             System.out.println("Sophomore");
         }

         else if (in == '3')
         {
             System.out.println("Third Year");
             System.out.println("Junior");
         }

         else if (in == '4')
         {
             System.out.println("Fourth Year");
             System.out.println("Senior");
         }

         else
         {
             System.out.println("Invalid");
         }
    }
}

以上是关于字符类型中的if / else语句的主要内容,如果未能解决你的问题,请参考以下文章

为啥编译器告诉我没有运算符与我的“if”和“else if”语句中的操作数类型匹配?

Java的语句类型字符转换及字符串用法

Python------条件语句及基本数据类型

20个简洁的 JS 代码片段

SQL Select 语句的用法

If Else, Else If, Else - 基于 URL 中的字符串