Simple Java mistake -


package e.power.bhd; 

import java.util.scanner;

public class epowerbhd {

public static void main(string[] args) {     int accountnum = 1;     double cmeter;     double pmeter;     double eusage;     double totaldueamount = 0.0;     double tot = 0.0;     scanner input = new scanner(system.in);          while (accountnum != 0) {              // user enter account no             system.out.print("enter account number (0 stop ) : ");             accountnum = input.nextint();             // user enter current meter reading             system.out.print("current meter reading : ");             cmeter = input.nextdouble();             // user enter previous meter reading             system.out.print("previous meter reading : ");             pmeter = input.nextdouble();             eusage = cmeter - pmeter;             system.out.print("electricity usage(in kwh) : " + eusage);             system.out.println();              if (eusage >= 1 && eusage <= 200) {                 totaldueamount = 0.218 * eusage;             } else if (eusage > 200 && eusage <= 300) {                 totaldueamount = 0.334 * eusage;             } else if (eusage > 300 && eusage <= 600) {                 totaldueamount = 0.516 * eusage;             } else if (eusage > 600 && eusage <= 900) {                 totaldueamount = 0.546 * eusage;             } else {                 totaldueamount = 0.571 * eusage;             }             system.out.println();  // total amount account displayed             system.out.println("amount number : " + accountnum + "," + " charge " + "rm" + totaldueamount);             tot = totaldueamount++;             system.out.println();          } // loop exit , displa total amount accounts         system.out.println("total amount collected  = " + "rm" + tot);         system.out.println("________________________________");         system.out.println("--- done ----");         system.out.println("________________________________");      }  } 

i have completed java program in user enter account number, current meter reading , previous current reading , calculates electricity usag calculate electricity usage accounts until user terminates loop entering 0 , total accounts calculated , displayed.

in program if user enter 0 @ first should show "no account has been processed." , terminates.

attached program code , detail of program.

https://www.dropbox.com/s/85mm1w09tl7c1n3/1.png?dl=0 https://www.dropbox.com/s/8w0ngjt9em70q7w/2.png?dl=0

any appreciated..

lacks conditional statement

the answer mistake in program it's unending loop. it'll true because asked value of accountnum , didn't add conditional statement.

use code below replacement code , works.

import java.util.scanner;  public class yehey {     public static void main(string[] args) {         int accountnum = 1;         double cmeter;         double pmeter;         double eusage;         double totaldueamount = 0.0;         double tot = 0.0;         scanner input = new scanner(system.in);          while (true) {              // user enter account no             system.out.print("enter account number (0 stop ) : ");             accountnum = input.nextint();             if (accountnum==1) {                 // user enter current meter reading                 system.out.print("current meter reading : ");                 cmeter = input.nextdouble();                 // user enter previous meter reading                 system.out.print("previous meter reading : ");                 pmeter = input.nextdouble();                 eusage = cmeter - pmeter;                 system.out.print("electricity usage(in kwh) : " + eusage);                 system.out.println();                  if (eusage >= 1 && eusage <= 200) {                     totaldueamount = 0.218 * eusage;                 } else if (eusage > 200 && eusage <= 300) {                     totaldueamount = 0.334 * eusage;                 } else if (eusage > 300 && eusage <= 600) {                     totaldueamount = 0.516 * eusage;                 } else if (eusage > 600 && eusage <= 900) {                     totaldueamount = 0.546 * eusage;                 } else {                     totaldueamount = 0.571 * eusage;                 }                 system.out.println();  // total amount account displayed                 system.out.println("amount number : " + accountnum + "," + " charge " + "rm" + totaldueamount);                 tot = totaldueamount++;                 system.out.println();                  // loop exit , displa total amount accounts                 system.out.println("total amount collected  = " + "rm" + tot);                 system.out.println("________________________________");                 system.out.println("--- done ----");                 system.out.println("________________________________");             } else {                 system.out.println("thank using program.");                 break;             }         }     } } 

added changes:
1. changed inside condition of while true
2. added if statement execute code if accountnum remains 1 , breaks program if value changed other values.
3. added...system.out.println("thank using program."); break; if value of accountnum not equal zero

(note: please clarify problem or question avoid having question flagged or have down votes.)


Comments

Popular posts from this blog

php - Permission denied. Laravel linux server -

google bigquery - Delta between query execution time and Java query call to finish -

python - Pandas two dataframes multiplication? -