Java无与伦比的数据类型char和String

时间:2012-08-18 14:41:00

标签: java

当我运行Javac时,它告诉我在

中有一个无与伦比的数据类型char和String
while(responseChar == "y")

不确定要修改此错误的内容

import java.util.Scanner;
public class UseOrder
{
public static void main(String[] args)
{

    int answer, num, q;
    String name, response;
    double p;
    char responseChar;
    Scanner keyboard = new Scanner(System.in);

    Order order1 = new Order();
    order1.setCustomerName();
    order1.setCustomerNum();
    order1.setQuantity();
    order1.setUnitPrice();
    order1.computePrice();
    order1.displayInfo();

    keyboard.nextLine(); 
    System.out.println("Do you need the shipping and handling service?");
    System.out.println("Enter y or n :");
    response = keyboard.nextLine();
    responseChar = response.charAt(0);
    while(responseChar == "y")
    {
        ShippedOrder order2 = new ShippedOrder();
        order2.getCustomerName();
        order2.getCustomerNum();
        order2.getQuantity();
        order2.getUnitPrice();
        order2.computePrice();
        order2.displayInfo();
    }
}
}

3 个答案:

答案 0 :(得分:18)

要定义字符文字,请使用单引号:'。双引号定义字符串文字。

while(responseChar == 'y')

答案 1 :(得分:3)

您可以选择使用较大的C Character课程将char转换为String

String converted = Character.toString(responseChar); 
while(converted.equalsIgnoreCase("y"))
{
  // ...
}

但是这个版本比Jeffrey提出的字面比较更加冗长

答案 2 :(得分:1)

而不是"y"执行此操作'y'""表示字符串。