我在java中的while
語句遇到問題。這裏是我的代碼(我對此很新)...做...雖然不循環
import java.text.DecimalFormat;
import java.util.Scanner;
public class ElecticBillLab6 {
public static void main(String[] args) {
int accountNumber;
int customerName;
int oldMeterReading;
int newMeterReading;
int usage;
double charge = 0;
String name;
String lastName;
String response;
final double baseCharge = 5.00;
int yes = 1;
int no = 2;
boolean YesResponse;
Scanner keyBoard = new Scanner(System.in);
do {
System.out.print("Customer's first Name? ");
name = keyBoard.next();
System.out.print("Customer last name?");
lastName = keyBoard.next();
System.out.print("Enter customer account number ");
accountNumber = keyBoard.nextInt();
System.out.print("Enter old meter reading ");
oldMeterReading = keyBoard.nextInt();
System.out.print("Enter new meter reading ");
newMeterReading = keyBoard.nextInt();
usage = (newMeterReading - oldMeterReading);
if (usage < 301) {
charge = 5.00;
} else if (usage < 1001) {
charge = (5.00 + (.03 * (usage - 300)));
} else if (usage > 1000) {
charge = (35.00 + ((usage - 1000) * .02));
}
DecimalFormat df = new DecimalFormat("$,###.00");
System.out.println("PECO ENERGY");
System.out.println("Customer Account Number " + accountNumber);
System.out.println("Name on Account " + name + lastName);
System.out.println("Last Month Meter Reading: " + oldMeterReading);
System.out.println("This Month Meter Reading: " + newMeterReading);
System.out.println("Current Usage : " + usage);
System.out.println("Your current month charges are "
+ (df.format(charge)));
System.out
.println("Do you want to enter another customer's meter reading?");
System.out.print("Enter 1 for yes or 2 for no.");
response = keyBoard.next();
} while (response == "1");
}
}
該程序執行一次並且不能正確循環。哪裏不對?
不應該'response ==「1」'是'response.equals(「1」)'? – Blender
非常感謝!你們都搖滾! – user2284562