我試着編譯這一點,得到了一個錯誤說:$ javac的Question2.java 2> Question2.java:55:錯誤:文件的最終達成在分析 } ^ 1錯誤類型不能解決變量上的Java程序,具有字符串和編譯錯誤
我很確定代碼是正確的,但有一點我缺少的東西。該計劃旨在檢查票證類型(標準/貴賓/限制)和折扣(無/學生/領取養老金),如果選擇VIP,沒有折扣,並且學生和退休人員有5%和10%的折扣分別,但我無法理清輸入方法或輸入聲明。
任何形式的幫助表示讚賞。 PS,我是一名正在學習Java的學生,似乎無法找到解決此問題的確切解決方案,因此我在此處發佈了一個問題。
import java.util.Scanner;
public class Question2 {
public static void main(String args[]){
Scanner userinput = new Scanner(System.in);
String ticket ;
System.out.print(" Type of Ticket: ");
ticket = userinput.next();
String discount;
System.out.print("What sort of discount do you have?");
discount = userinput.next();
int standard = 40;
int restricted = 20;
int VIP = 60;
if ((ticket == "standard") && (type == "student")) {
double standard_student = standard * 0.95;
}
if ((ticket == "standard") && (type == "pensioners")) {
double standard_pensioners = standard * 0.90;
}
if ((ticket == "restricted") && (type == "student")) {
double restricted_students = restricted * 0.95;
}
if ((ticket == "restricted") && (type == "pensioner")) {
double restricted_pensioner = restricted * 0.90;
}
if (ticket=="standard")
System.out.print("Your ticket costs $.");
if (ticket == "restricted")
System.out.print("Your ticket costs $.");
if (ticket== "VIP")
System.out.print("Your discount type cannot be used with your requested ticket type.");
System.out.println ("Thank you!");
}
首先,你忘了關閉你的類的'}'。其次,比較字符串值與'String'的'equals'方法,而不是'=='。 – rgettman
關於rgettman評論的第二部分,請參見[如何比較Java中的字符串?](http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java?rq=1 ) –