当前位置: 首页 > 知识库问答 >
问题:

在switch语句中使用扫描器,但我的程序只保持打印默认的

邵兴文
2023-03-14
import java.util.Scanner;
public class Exe7 {
public static void main(String[] args) {
            
        Scanner scn = new Scanner(System.in);
            
        System.out.print("Enter the term:");
        String term = scn.nextLine();
            
        switch(term) {
            case "Programming":
                System.out.println("It is the process of creating a set of instructions to tell the computer how to do a task.");
            break;
            case "Java":
            System.out.println("A popular high-level and object-oriented programming language developed by Sun Microsystems in 1995 and now, owned by Oracle.");
            break;
            case "print":
                System.out.println("A method in Java that is used to display a text on the console.");
            break;
            case "scanner":
            System.out.println("It is used to get an input data from the user, and found in the java.util package.");
            break;
            case "packages":
                System.out.println("It organizes Java classes into namespaces, providing a unique namespace for each type it contains.");
            break;
            case "IDE":
                System.out.println("also known as Integrated Development Environment, a software app that enables us to write & debug programs more easily.");
            break;
            case "switch":
                System.out.println("Unlike conditionals, these statements only checks equality and only works strings, char, int and enums.");
            break;
            case "function":
                System.out.println("A block of organized, reusable code that is used to perform a single, related action.");
            break;
            case "Conditional Statements":
                System.out.println("It allows a program to take action based on the given condition.");
            break;
            case "IF-statements":
                System.out.println("It is one of the conditional statement that handles one conditional expression. It either does SOMETHING or NOTHING.");
            break;
            default: 
                System.out.println("Sorry, we don't have any information about that.");
                 }
                 
        scn.close();

不管怎么说,对于会回应的人,提前非常感谢!

共有1个答案

那利
2023-03-14

POST工作正常,至少输入java请参阅Ideone。
输入很可能不正确-switch需要完全相同的文本:大小写很重要,空格很重要,...

建议:在错误消息中包含输入:

default: 
    System.out.println("Sorry, we don't have any information about '" 
                       + term + "'");

因此,该消息可以帮助用户(和开发人员)看到哪里出了问题(甚至/特别是在生产代码中)。

switch (term.toLowerCase()) {
    case "programming":   \\ the labels must all be lowercase too
        ...
    case "java":
        ...
 类似资料:
  • 我正在尝试编写一个程序,可以将字母表中的任何字母(大小写)转换成拼音字母表。例如,如果我输入“a”或“a”,我的程序将给我(更改为)“alpha”。我对这个和switch语句做了很多研究,但我总是卡住。我已经意识到我不能在扫描仪中使用“char”。然而,当我将“char”更改为“string”时,我的switch语句就会出错(特别是代码中的toUpperCase被下划线。我看不出我的错误。下面是我

  • 所以基本上我有一个学校的项目,它包含一个time循环中的开关语句。 假设我输入“1”,它在大小写“1”中运行代码。然后它应该在之后中断。但默认代码也总是运行。 这是案例“1”代码: 这是默认代码: 以下是输出: 我很有信心我的代码是正确的,但是如果我缺少什么,请告诉我如何修复它,谢谢。

  • 所以基本上我有一个学校项目,它在while循环中包含一个switch语句。 假设我输入“1”,它运行案例“1”中的代码。然后它会在之后破裂。但默认代码也总是可以运行。 以下是案例“1”代码: 这是默认代码: 以下是输出: 我很有信心我的代码是正确的,但是如果我缺少什么,请告诉我如何修复它,谢谢。

  • 是否有一种方法可以只使用一条打印语句,但仍能达到与下面代码中相同的效果?我尝试了在这种情况下无法使用的结束语句,或者我使用了错误的结束语句:

  • 我是这样编译它们的: 确切的错误是这样的:

  • 问题内容: 对于建议抛出异常的人: 抛出异常不会给我编译时错误,而是给我运行时错误。我知道我会抛出异常,我宁愿在编译时死掉,也不愿在运行时死掉。 首先,我正在使用Eclipse 3.4。 我有一个数据模型,它的mode属性是Enum。 我目前正在编写此模型的视图,并且我有代码 我收到一个错误“此方法必须返回类型为java.awt.Color的结果”,因为我没有默认大小写,并且在函数末尾没有返回xx