I am a first time user to Java and I am stuck and cant figure out what to do.. Please help. My code is

import java.util.Scanner;
public class rshomework2
{
  
  public static void main ( String[] args)  
  {
   Scanner input = new Scanner(System.in);
   sales;
   final double base = 800;
  
   System.out.println("Enter sales total");
     sales = input.nextDouble();
    
    // Calculate the amount of commission.
 commission = rate * sales;
    
 if (sales < 2999.99)
 rate = 0.02; // 2% commission rate
 else if (sales < 4999.99)
 rate = 0.03; // 3% commission rate
 else if (sales < 8999.99)
 rate = 0.04; // 4% commission rate
 else if (sales < 10999.99)
 rate = 0.05; // 5% commission rate
 else
 rate = 0.06; // 6% commission rate

  // Calaulate the amount of Salary.
    Salary = commission + base;
   
  // output values
   System.out.println ( "Gross Salary is $" + Salary);
   
  }
}

when I try to compile it says error line 12 syntax error, insert assignmentOperator Expression to complete expression. Please help.

Recommended Answers

All 5 Replies

Define your variable.... Most of your variables are not defined.

Ex in line 8 you have simply written

sales;

You should define it ex :

Double sales;

Likewise check all............

now is says variable reate may not have been initialized. I really do not know what I am doing.

import java.util.Scanner;
public class rshomework2
{

public static void main ( String[] args)
{
//read in pay
Scanner input = new Scanner(System.in) ;
double sales;
double commission;
double rate; // Commission rate
double Salary;
final double base = 800;

System.out.println("Enter sales total");
sales = input.nextDouble();

if (sales <= 2999.99)
rate = 0.02; // 2% commission rate
else if (sales <= 4999.99)
rate = 0.03; // 3% commission rate
else if (sales <= 8999.99)
rate = 0.04; // 4% commission rate
else if (sales <= 10999.99)
rate = 0.05; // 5% commission rate
else
rate = 0.06; // 6% commission rate

// Calculate the amount of commission.
commission = rate * sales;

// Calaulate the amount of Salary.
Salary = commission + base;

// output values
System.out.println ( "Gross Salary is $" + Salary);

}
}

So I got it to work. However when it gives me an answer it comes out like 949.9997. How do I make it only give two places after the decimal?

Use Decimal Format Class....

DecimalFormat df = new DecimalFormat("#.##");
df.format(doubleValues) // Return a String

Since it is a double you get it like that. However if you really need to round off to 2 decimal places. What you could is that like the below pseudo code

Define an int
Assign the answer*100 to the int (say X) as this will evade all the decimal there on.
Then define another double and assign the value of the X/100 which will give your required out put.
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.