有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java软件销售错误

我不断得到这些错误代码:

软件销售。java:20:找不到符号

符号:可变销售额

地点:class软件销售部

  Sales = 99;
  ^

软件销售。java:30:找不到符号

符号:可变销售额

地点:class软件销售部

  Total = Quantity * Sales;
                     ^

软件销售。java:32:找不到符号

符号:变量卸载

地点:class软件销售部

  Total = Total - Disount;
                  ^

软件销售。java:37:可能的精度损失

发现:浮动

必填项:int

     Rate = .20f;
            ^

软件销售。java:39:可能的精度损失

发现:浮动

必填项:int

     Rate = .30f;
            ^

软件销售。java:41:可能的精度损失

发现:浮动

必填项:int

     Rate = .40f;
            ^

软件销售。java:43:可能的精度损失

发现:浮动

必填项:int

     Rate = .50f;
            ^

7个错误

这是我目前的代码:

import java.util.Scanner;

public class SoftwareSales
{
   public static void main(String[] args)
   {

      Scanner keyboard = new Scanner(System.in);

      Sales = 99;

      int Quantity;
      int Total;
      int Rate;
      double Discount;

      System.out.print ("Enter amount of packages purchased: ");
            Quantity = keyboard.nextInt();

      Total = Quantity * Sales;
      Discount = Total * Rate;
      Total = Total - Disount;

      if(!(Total < 10))
         System.out.println("No discount." + "Your total is: " + Total);
      else if(Total >= 19)
         Rate = .20f;
      else if(Total >= 49)
         Rate = .30f;
      else if(Total >= 99)
         Rate = .40f;
      else
         Rate = .50f;

      System.out.println("Your discount is " + Discount + 
                         ". Your total is: " + Total);
   }
}

任何帮助都将不胜感激。谢谢你抽出时间


共 (4) 个答案

  1. # 1 楼答案

    您需要声明变量Sales。例如:

    int Sales = 99;
    

    精度错误的损失是因为您正在将float值分配给int变量。虽然这有时被视为警告,但它通常指示错误,需要声明正确的变量类型或使用显式转换。可能您应该将变量声明为float。或者,以整数值进行所有计算,避免潜在的舍入误差

    并不是您问过这个问题,而是Java命名约定是让变量以驼峰大小写开头,并以小写字母开头:sales而不是Sales(如果您有这样的变量名,则是totalSales而不是TotalSales

  2. # 2 楼答案

    您可能希望将变量设置为小写,以避免与类名混淆。在java中,类名总是大写,这可能会给代码带来混乱

    您缺少int sales = 99;它无法解析符号,因为您从未声明过它

    Rate应该是一个双精度的值,如果要将值转换为浮点值,可以省略.f

  3. # 3 楼答案

    你需要学习变量类型,我的朋友。销售额很可能是一个整数

    int Sales
    

    利率是原来的两倍

    double Rate
    

    整个代码应该是

    import java.util.Scanner;
    
    public class SoftwareSales
    {
       public static void main(String[] args)
       {
    
          Scanner keyboard = new Scanner(System.in);
    
          int sales = 99;
    
          int quantity;
          double total;
          double rate = 0; // set rate to what you need.
          double discount;
    
          System.out.print ("Enter amount of packages purchased: ");
                quantity = keyboard.nextInt();
    
          total = quantity * sales;
          discount = total * rate;
          total = total - discount;
    
          if(!(total < 10))
             System.out.println("No discount." + "Your total is: " + total);
          else if(total >= 19)
             rate = .20f;
          else if(total >= 49)
             rate = .30f;
          else if(total >= 99)
             rate = .40f;
          else
             rate = .50f;
    
          System.out.println("Your discount is " + discount + 
                             ". Your total is: " + total);
       }
    }
    
  4. # 4 楼答案

    • 你还没有定义Sales
    • 你在Disount中有一个输入错误
    • Rate应该是float