java 常量表达式,需要常量表达式? (Java switch语句)[通俗易懂]

java 常量表达式,需要常量表达式? (Java switch语句)[通俗易懂]Ihavenoideawhatiscausingthiserror.MyteacherandIwentoveritandcouldn’tfindwhatwaswrong.importjava.util.Scanner;publicclassMailAssignment{publicstaticvoidmain(String[]args){S…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

java 常量表达式,需要常量表达式? (Java switch语句)[通俗易懂]

I have no idea what is causing this error. My teacher and I went over it and couldn’t find what was wrong.

import java.util.Scanner;

public class MailAssignment

{

public static void main(String [] args){

Scanner userinput = new Scanner(System.in);

char p;

char f;

double price = 0;

System.out.println(“First class or priority?”);

char type = userinput.next().charAt(0);

System.out.println(“How much does the package weigh? (in ounces)”);

double weight = userinput.nextDouble();

switch (type){

case p:

if (weight > 16)

price = weight * 3.95;

else if (weight > 32)

price = (1.20 * (weight / 16));

else

price = 3.50 * weight;

break;

case f:

if (weight < 1 )

price = 0.34;

else if ( weight > 1)

price = 0.34 + (weight * 21);

else if (weight > 13)

price = weight * 3.95;

else if (weight > 32)

price = 1.20 * (weight / 16);

else

price = 3.50 * weight;

break;

}

System.out.println(“Your price is: ” +price);

}

}

It throws a “Constant expression required” error when it’s compiled and it points to the case p: line, however, it also throws it for f: if I switch them so I must be doing something completely off.

解决方案

Yes, a case expression has to be a constant (or an enum constant name) – you can’t use a variable. See the Java Language Specification section 14.11 (switch statements) for more details. (You hadn’t even initialized the variables, so it’s not clear what you expected to happen, to be honest.)

Did you mean:

case ‘p’:

case ‘f’:

? This will match your input (type) against the character literals ‘p’ and ‘f’.

(As an aside, if this stumped your teacher, I have concerns about how suitable they are to be teaching Java. This is reasonably basic stuff.)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187886.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Cisco 管理Mac 地址表

    Cisco 管理Mac 地址表

    2022年3月3日
    47
  • zt在Delphi7中屏蔽word,excel左上角的弹出菜单的关闭选项

    zt在Delphi7中屏蔽word,excel左上角的弹出菜单的关闭选项

    2021年7月21日
    63
  • docker搭建kafka集群

    docker搭建kafka集群docker搭建kafka集群我在M1mbp上使用的以下镜像新建文件zk-kafka-docker-compose.ymlversion:”2″services:zookeeper:user:rootimage:docker.io/zookeeperports:-“12181:2181″environment:-ALLOW_ANONYMOUS_LOGIN=yesvolumes:-zoo

    2022年4月25日
    33
  • adventureworksdw2008r2_种植项目实施方案示例范文

    adventureworksdw2008r2_种植项目实施方案示例范文在SQLServer2008的Analysis帮助的例子经常用到AdventureWorks多维数据库。需要按照下列步骤安装1.首先安装SQL2008.AdventureWorks_All_Databases.x86.msi2.下载AdventureWorks2008R2NovemberCTP,里面有AdventureWorks的项目,在vs2008中部署就可以了。C:\Pro…

    2025年10月28日
    3
  • 从日记到博客

    从日记到博客我自零八年上大学开始主动写日记,记录一些自己的想法。我特别喜欢在纸上写字的感觉。我会在纸上记录一些想法和反思,自己新见识的事物、经历,与人接触的小摩擦,待人接物的新想法,也有自己的情感的。当看看最初的日记的时候,觉得当时的想法还非常的幼稚。后来经历的一些事情给我很多困惑、苦恼、启发、激励,帮我建立对人、对事的态度和认知。如果不是这些文字,过去的我是什么样子,会有什么样的想法,早就完全忘记了。正是这…

    2022年5月18日
    34
  • windows环境下,如何在Pycharm下安装TensorFlow环境「建议收藏」

    windows环境下,如何在Pycharm下安装TensorFlow环境「建议收藏」原文转自:https://blog.csdn.net/u012052268/article/details/74202439最近由于工作需要要使用TensorFlow,所以只能狂补相关的知识。本来博主打算在Ubantu上玩,但是由于一些原因还是放弃了这个想法,就转移到Pycharm上来玩。以下是自己在收集资料的过程中看到一篇很好的安装教程,分享一下。1.安装Anaconda选择相应的A…

    2022年8月25日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号