Java 带开关

标签 java

我不完全确定这个java.lang.Error有什么问题。当我运行程序时,我一直得到不兼容的类型。我只是java程序的初学者。请详细帮助我。我尝试了各种方法并在谷歌中搜索了很多链接。但我只是不幸。 编写一个程序,要求用户输入“空气”、“水”或“钢”,以及声波在介质中传播的距离。然后程序应该显示所需的时间。

提示和输出。程序提示输入介质:“输入以下之一:空气、水或钢:”并读取介质。如果介质不是空气、水或钢,程序将打印消息:“抱歉,您必须输入空气、水或钢。”没有别的。否则,程序会提示输入距离(“输入声波将传播的距离:”并将其读入,然后打印“它将花费 x 秒。”其中 x 是程序计算出的时间。

这就是我到目前为止所拥有的。

class one{ 
    public static void main(String[] args){ 
        Scanner input = new Scanner(System.in);

        System.out.print("Enter one of the following: air, water, or steel: ");
        String text = input.nextLine();

        System.out.print("Enter the distance the sound wave will travel: ");

        double distance;
        double time;

        distance = input.nextDouble();

        switch (text){
            case "air":
                time = (distance/1100);
                System.out.println("It will take " + time + " sconds." );
                break;

            case "water":
                time = (distance/4900);
                System.out.println("It will take " + time + " seconds.");
                break;

            case "steel":
                time = (distance/16400);
                System.out.println("It will take " + time + " seconds.");
                break;


            default:
                System.out.println("Sorry, you must enter air, water, or steel.");
        }    
    }
}

最佳答案

您使用的 Java 版本是什么?无法在 Java 7 之前的版本中对字符串使用 switch。请参阅 Why can't I switch on a String?

还建议您使用 Eclipse 之类的工具来编写 Java 代码,它会发现这些错误。

关于Java 带开关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28522690/

相关文章:

java - 面试难题 - 为什么我们应该重写 hashCode 和 equals 方法

java - 如何将包含特殊字符的数据发布到 Microsoft CRM Dynamics Web API?

java - 使用 QoS 2 进行发布的发布者获得代理或订阅者的确认

java-使用提交事务插入表

java - Java跨IDE插件开发可以吗?

java - 重新缩放 JFrame 内容

java - 在 JavaFX 网格中插入行时如何纠正显示问题?

java - 深度复制,JUnit 测试 Java

java - 在单元测试时如何访问 void 方法中的对象?

java - 如何使用java程序获取PID的内存、CPU使用率?