-1

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

SoftwareSales.java:20:找不到符号

符号:变量销售

位置:类SoftwareSales

  Sales = 99;
  ^

SoftwareSales.java:30:找不到符号

符号:变量销售

位置:类SoftwareSales

  Total = Quantity * Sales;
                     ^

SoftwareSales.java:32:找不到符号

符号:可变折扣

位置:类SoftwareSales

  Total = Total - Disount;
                  ^

SoftwareSales.java:37:可能的精度损失

发现:浮动

必需:整数

     Rate = .20f;
            ^

SoftwareSales.java:39:可能的精度损失

发现:浮动

必需:整数

     Rate = .30f;
            ^

SoftwareSales.java:41:可能的精度损失

发现:浮动

必需:整数

     Rate = .40f;
            ^

SoftwareSales.java:43:可能的精度损失

发现:浮动

必需:整数

     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

4 回答 4

3

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

int Sales = 99;

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

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

于 2013-09-13T17:21:12.803 回答
2

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

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

Rate应该是双精度,并且您将值转换为浮点数,您可以省略.f

于 2013-09-13T17:21:46.547 回答
2
  • 你还没有定义Sales
  • 你有一个错字Disount
  • Rate应该是类型float
于 2013-09-13T17:21:55.737 回答
0

你需要学习变量类型我的朋友。销售很可能是一个 int 所以

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);
   }
}
于 2013-09-13T17:23:03.627 回答