我在使用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");

}
}

该程序执行一次,并且无法正确循环。 怎么了?

===============>>#1 票数:5

您不能使用==比较字符串。

采用

while(response.equals("1"));

===============>>#2 票数:3

尝试:

response.equals("1")

==适用于字符串只返回true ,如果是同一个对象。

===============>>#3 票数:3

response == "1"不是如何在Java中比较String

实际上,您实际上想使用response.equals("1") ,它将比较两个String的内容,它们彼此并且不在内存位置。

  ask by user2284562 translate from so

未解决问题?本站智能推荐: