Java 表达式的非法开始。。。然而我';我确保有正确的操作员

Java 表达式的非法开始。。。然而我';我确保有正确的操作员,java,expression,Java,Expression,在第二个屏幕上获取错误,否则如果。。。。我不明白这是怎么发生的,因为其他人都没有错误,都是以同样的方式陈述的!如果您对此有任何意见,我们将不胜感激 错误状态; 错误:表达式的开头非法 这是代码 /** * @(#)Exercise4.java * * * @author * @version 1.00 2014/10/20 */ import java.util.Scanner; public class Exercise4 { public static void m

在第二个屏幕上获取错误,否则如果。。。。我不明白这是怎么发生的,因为其他人都没有错误,都是以同样的方式陈述的!如果您对此有任何意见,我们将不胜感激

错误状态; 错误:表达式的开头非法

这是代码

/**
 * @(#)Exercise4.java
 *
 *
 * @author 
 * @version 1.00 2014/10/20
 */

import java.util.Scanner;
public class Exercise4 {

    public static void main(String[] args) {

    float unit, cost; 

    Scanner input = new Scanner(System.in);

    System.out.print("Please Enter The Units Used: ");
    unit = input.nextFloat();

    if (unit <= 99)
        {
        cost = (unit*0.05);
        }
    else if (unit > 99 && unit <= 200)
        {
        cost = ((99*0.05) + (unit*(0.03)));
        }
    else if (unit > 200 && <= 300)
        {
        cost = (((99*0.05) + (200*0.03)) + (unit*0.02));
        }
    else if (unit>300)
        {
        cost = ((((99*0.05) + (200*0.03)) + (100*0.02)) + (unit*0.01));
        }   
    System.out.println("\nThe Cost Of Your Mobile Phone Bill Is: EUR" + String.format("%.2f",cost));

    }


}
/**
*@(#)Exercise4.java
*
*
*@作者
*@version 1.00 2014/10/20
*/
导入java.util.Scanner;
公开课练习4{
公共静态void main(字符串[]args){
浮动单位,成本;
扫描仪输入=新扫描仪(System.in);
System.out.print(“请输入使用的单位:”);
unit=input.nextFloat();
如果(99号机组和200号机组和300号机组)
{
成本=((99*0.05)+(200*0.03)+(100*0.02)+(单位*0.01));
}   
System.out.println(“\n您手机账单的成本为:欧元”+String.format(“%.2f”,成本));
}
}
这个


此处需要进行一些更改:

  • 纠正第三个if条件
  • 将float type更改为double(显示精度误差损失)
  • 初始化
    成本=0

  • 然后它就工作了…

    括号太多了?你试着比较int和float?单位是float,op试着比较int是200?非常感谢!现在我只需将float改为double:)@KickButtowski这是合法的,问题是将
    单元
    完全排除在测试之外<代码>单位>200
    还有什么
    @ElliottFrisch还有,我如何将一个双精度(因为成本是双精度的)格式设置为小数点后2位?我知道float是%.2f,但我不确定double是什么…@alannm37相同的(无需更改)方式。它表明我没有初始化var成本是错误的,所以我初始化了。。
    
    else if (unit > 200 && <= 300)
    
    else if (unit > 200 && unit <= 300)
    
    float unit; 
    double cost;