Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Getting errors on this code please help! here is an example Meter date = 8/15/16

ID: 3923097 • Letter: G

Question

Getting errors on this code please help! here is an example

Meter date = 8/15/16
kw used = 550
Baseline charge = 52.50
Over Baseline charge = 24.75
excess charge = 9.38
Total = 86.63


import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Scanner;

public class project { // problem here - Syntax error, insert "}" to complete

   // ClassBody

   public static void main(String[] args){

           {

               //Construction

               double rate = 0.10;

               double overCharge = 1.10;

               double excessCharge = 1.25;

               double tier1 = 350;

               double tier2 = 500;

               double over = 0;

               double excess = 0;

               double total= 0;

          

              

                   // Welcome

               System.out.println("Southwet Power & Light Billing Statement");

               Scanner sc = new Scanner(System.in);

               String choice = "y" ;

               while (choice.equalsIgnoreCase("y"))

               {

              

                   // get the input from the user

               System.out.println("Please enter your name (Last,First) > ");

               String name = sc.nextLine();

               System.out.println("Meter reading date >");

               String date = sc.nextLine();

               Scanner sc1 = new Scanner(System.in); // Scanner #1 for KW used input

               double kwusedEntered = 0;

               double base = 0;

               boolean isValid = false;

               while (isValid == false)

               {

               try

               {

               System.out.print("Electricity Used (KW) > ");

               kwusedEntered = sc1.nextInt();

               isValid = true;

                 

               // Get current date and time

               Date now = new Date();

               SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");

               System.out.println("Date printed: " + sdf.format(now));

               System.out.println("Name:"+ name);

               System.out.println("Meter reading date : " + date);

               System.out.println("Electricity used (KW) : " + kwusedEntered);

              

               // Charges

               if (kwusedEntered >= 0 && kwusedEntered <= 350)

               {

               base = kwusedEntered * rate;

               over = 0;

               excess = 0;

               } else if (kwusedEntered > 350 && kwusedEntered <= 500)

               {

               base = tier1 * rate;

               over = (kwusedEntered - tier1) * (rate * overCharge);

               excess = 0;

               } else if (kwusedEntered > 500)

               {

               base = tier1 * rate;

               over = (tier2 - tier1) * (rate * overCharge);

               excess = (kwusedEntered - tier2) * (rate * excessCharge);

              

               }

              

               base = Math.round(base * 100) / 100;

               over = Math.round(over * 100) / 100;

               excess = Math.round(excess * 100) / 100;

               total = base + over + excess;

              

               System.out.println("Baseline charge " + base);

               System.out.println("Over-baseline charge " + over);

               System.out.println("Excess charge" + excess);

               System.out.println("total amount due " + total);

                  System.out.println("Calculate another bill (y/n)" );

                  choice = sc.next();

                  System.out.println(" Thank you for letting us serve you!")://syntax error, insert "Finally" to complete

                       BlockStatements

           }

       }

           }

              

          

}

Explanation / Answer

Program :

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Project { // problem here - Syntax error, insert "}" to complete
// ClassBody

public static void main(String[] args){
//Construction
double rate = 0.10;
double overCharge = 1.10;
double excessCharge = 1.25;
double tier1 = 350;
double tier2 = 500;
double over = 0;
double excess = 0;
double total= 0;
  
  
// Welcome
System.out.println("Southwet Power & Light Billing Statement");
Scanner sc = new Scanner(System.in);
String choice = "y" ;
while (choice.equalsIgnoreCase("y"))
{
  
// get the input from the user
System.out.println("Please enter your name (Last,First) > ");
String name = sc.nextLine();
System.out.println("Meter reading date >");
String date = sc.nextLine();
Scanner sc1 = new Scanner(System.in); // Scanner #1 for KW used input
double kwusedEntered = 0;
double base = 0;
boolean isValid = false;
while (isValid == false)
{
System.out.print("Electricity Used (KW) > ");
kwusedEntered = sc1.nextInt();
isValid = true;

// Get current date and time
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
System.out.println("Date printed: " + sdf.format(now));
System.out.println("Name:"+ name);
System.out.println("Meter reading date : " + date);
System.out.println("Electricity used (KW) : " + kwusedEntered);
  
// Charges
if (kwusedEntered >= 0 && kwusedEntered <= 350)
{
base = kwusedEntered * rate;
over = 0;
excess = 0;
} else if (kwusedEntered > 350 && kwusedEntered <= 500)
{
base = tier1 * rate;
over = (kwusedEntered - tier1) * (rate * overCharge);
excess = 0;
} else if (kwusedEntered > 500)
{
base = tier1 * rate;
over = (tier2 - tier1) * (rate * overCharge);
excess = (kwusedEntered - tier2) * (rate * excessCharge);
  
}
base = Math.round(base * 100) / 100;
over = Math.round(over * 100) / 100;
excess = Math.round(excess * 100) / 100;
total = base + over + excess;
  
System.out.println("Baseline charge " + base);
System.out.println("Over-baseline charge " + over);
System.out.println("Excess charge" + excess);
System.out.println("total amount due " + total);
System.out.println("Calculate another bill (y/n)" );
choice = sc.next();
System.out.println(" Thank you for letting us serve you!");
}
}
}
}

Output :

Southwet Power & Light
Billing Statement
Please enter your name (Last,First) >
Ram
Meter reading date >
8/15/16
Electricity Used (KW) > 550
Date printed: 10/12/2016
Name:Ram
Meter reading date : 8/15/16
Electricity Used (KW) : 550.0
Baseline charges 35.0
Over-basseline charges 16.0
Excess charges 6.0
total amount due 57.0
Calculate another bill (y/n)
n
Thank you for letting us serve you!

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote