当我运行Javac时,它告诉我在
中有一个无与伦比的数据类型char和Stringwhile(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();
}
}
}
答案 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'
。 ""
表示字符串。