Java无与伦比的数据类型char和String
当我运行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(); } } }
要定义字符文字,请使用单引号: '
。 双引号定义字符串文字。
while(responseChar == 'y')
您可以选择使用big C Character
类将char
转换为String
:
String converted = Character.toString(responseChar); while(converted.equalsIgnoreCase("y")) { // ... }
但是这个版本比Jeffrey提出的字面比较要冗长得多
而不是"y"
做这个'y'
。 ""
代表字符串。