這是我第一次使用布林值練習。無論是國產車還是進口車,我都需要顯示 car_Type 的輸出。主類已經成功編譯,但是當我運行它并輸入輸入時,它顯示“執行緒“main”中的例外java.util.InputMismatchException”。這是主類:
import java.util.Scanner;
public class CarApp
{
public static void main(String[] args)
{
//declaration
Scanner input = new Scanner(System.in);
String model, brand;
double price;
boolean type;
Car c = new Car();
System.out.println("Enter a car Model : ");//X70/Starex
model = input.nextLine();
System.out.println("\nEnter a car Brand : ");//Proton/Hyundai
brand = input.nextLine();
System.out.println("\nEnter the car price : RM");//95000.00/170000.00
price = input.nextDouble();
System.out.println("\nEnter the car brand [national/imported] : ");//national/imported car
type = input.nextBoolean();
//output
System.out.println("Car Model : " model);
}
}
另外,如果你想檢查錯誤,這里是汽車類:
public class Car
{
String car_Model;
String car_Brand;
double car_Price;
boolean car_Type;
public Car()
{
car_Model = " ";
car_Brand = " ";
car_Price = 0.0;
car_Type = true;
}
public Car(String cm, String cb, double cp, boolean ct)
{
car_Model = cm;
car_Brand = cb;
car_Price = cp;
car_Type = ct;
}
void SetCar_Model(String cm){
car_Model = cm;
}
void SetCar_Brand(String cb){
car_Brand = cb;
}
void SetCar_Price(double cp){
car_Price = cp;
}
void SetCar_Type(boolean ct){
car_Type = ct;
}
String GetCar_Model()
{
return car_Model;
}
String GetCar_Brand()
{
return car_Brand;
}
double GetCar_Price()
{
return car_Price;
}
Boolean GetCar_Type()
{
return car_Type;
}
public String toString()
{
return "Car Model : " car_Model "\nCar Brand : " car_Brand "\nCar Price : " car_Price "Car Type : " car_Type;
}
}
這是輸入:
Enter a car Model :
X70
Enter a car Brand :
Hyundai
Enter the car price : RM
95000.00
Enter the car brand [national/imported] :
national
在我點擊進入后,它顯示:
Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextBoolean(Scanner.java:1893)
at CarApp.main(CarApp.java:23)
感謝您的幫助!
uj5u.com熱心網友回復:
Java boolean資料型別,只能取值true或false。
uj5u.com熱心網友回復:
national無法決議為布林值。你必須根據你的邏輯自己決議它。例如isNational,您可以命名該欄位并將其設定為true如果用戶輸入了國家,false如果輸入了匯入。在您的 toString 方法中,您可以根據isNational類似的布林值回傳“匯入”或“國家”
isNational ? "national" : "imported"
這稱為三元運算子。
還要考慮如果用戶沒有輸入這兩個選項中的任何一個會發生什么。
您不需要在方法的頂部宣告所有變數,然后在下面分配它們。大多數情況下,如果確定分配了哪個值,您可以在宣告時分配它。
最后:通常 Java 欄位是用camelCase撰寫的。在此處查看 Java 命名約定。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/354178.html
上一篇:我正在嘗試撰寫一個代碼來獲取數字中所有數字的總和,但它不起作用
下一篇:將字串添加到掃描儀中
