【问题标题】:if/else statement in character type字符类型的 if/else 语句
【发布时间】:2015-09-09 16:19:03
【问题描述】:

我想写一个程序,输入从 1 到 4 的年份代码并输出年份级别。

注意:使用 if...else 语句和年份代码是字符类型。 (如果使用数组更好,我不允许使用数组,因为它在条件控制结构中。这样做之后,我如何使用 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");
    }

}

【问题讨论】:

  • 到目前为止你尝试过什么?您是否阅读了Scanner 上的 Java 文档并查看了他们提供的代码示例?
  • 稍后会尝试这样我可以了解更多,因为我对此一无所知。谢谢!

标签: java if-statement char


【解决方案1】:

在 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

【讨论】:

  • 谢谢@Mohammad Ghazanfar!!!它现在正在工作。还有2个问题,自从我们使用int以来,这个源代码是否遵循字符类型的指令?另外,如何使用 switch....case 语句编写此程序?请开始它,我会努力完成它。
  • 我不知道你说doing it in character type是什么意思。你可以说得更详细点吗。至于switch-case,请看this
  • 方向是 this....使用 if...else 语句并且 YEAR CODE 在 CHARACTER TYPE 中。什么都不知道,因为我们还在学习基础知识,但他们给了我们很多东西,我现在很困惑。
【解决方案2】:
  1. 如果您接受数字类型的输入,请使用整数类型而不是字符类型。
  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");
        }
    }
}

【讨论】:

    【解决方案3】:

    使用它它可以工作。 ^_^ 看看区别

    导入 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");
             }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-03-09
      • 2019-04-09
      • 1970-01-01
      • 1970-01-01
      • 2013-02-26
      • 2017-02-05
      • 2015-07-06
      • 2012-08-05
      相关资源
      最近更新 更多