我想創建一個程序,詢問姓名,年齡,然後將打印在我的屏幕上。但我正在嘗試使用「toString」方法和對象。基本程序與對象(java)
當我運行我的程序,我鍵入名字,姓氏和年齡,它打斷,讓我看看消息:
"Exception in thread "main" java.util.IllegalFormatConversionException: d != tutorial35Composition.Banana
at java.util.Formatter$FormatSpecifier.failConversion(Unknown Source)
at java.util.Formatter$FormatSpecifier.printInteger(Unknown Source)
at java.util.Formatter$FormatSpecifier.print(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.lang.String.format(Unknown Source)
at tutorial35Composition.Apple.toString(Apple.java:13)
at java.lang.String.valueOf(Unknown Source)
at java.io.PrintStream.println(Unknown Source)
at tutorial35Composition.Main.main(Main.java:24)
"
代碼:
package tutorial35Composition;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String name;
String surname;
int age;
Scanner input = new Scanner(System.in);
System.out.println("Type your name: ");
name = input.nextLine();
System.out.println("Type your surname: ");
surname = input.nextLine();
System.out.println("Type your age: ");
age = input.nextInt();
Banana banana = new Banana(age);
Banana banan = banana;
Apple apple = new Apple(name,surname,banan);
Apple appl;
appl = apple;
System.out.println(appl);
}
}
package tutorial35Composition;
public class Apple {
String Name;
String Surname;
Banana Age;
public Apple(String name,String surname,Banana age){
Name = name;
Surname = surname;
Age = age;
}
public String toString(){
return String.format("Your name is %s, your surname is %s and your age is %02d", Name, Surname, Age);
}
}
package tutorial35Composition;
public class Banana {
int age;
public Banana(int Age){
age = Age;
}
public String toString(){
String Age2;
Age2 = age + "";
return Age2;
}
}
那是因爲你'Banana'不是整數
使用吸氣劑。你確定把你的年齡稱爲「香蕉」有道理嗎? –
對不起,不適合的名字,我只學習Java和試驗。並感謝您的回答。 – Lenob