解決了 原來是要使用
"NO.1 is" + y[0] + "NO.2 is" + y[1] + "NO.3 is" + y[2]
的方式...
恩嗯嗯 可是現在又有另一個問題了
就是這個程式是要讓這些車子或是動物去賽跑
一個功能是現有的 truck sedan cat dog去賽跑
另一個功能就是 可以讓程式使用者 加入新的 動物 或是 車子
分別有Car跟Animal的abstract class
public class Car
{
private int wheels;
private int speed;
private int weight;
private String kind;
public Car()
{
setWheels(4);
}
public Car(int l)
{
setWheels(l);
}
public void run()
{
System.out.println("Moving");
}
public void setWheels(int l)
{
wheels=l;
}
public int getWheels()
{
return wheels;
}
public void setKind(String str)
{
kind=str;
}
public String getKind()
{
return kind;
}
public void setSpeed(int l)
{
speed=l;
}
public int getSpeed()
{
return speed;
}
public void setWeight(int l)
{
weight=l;
}
public int getWeight()
{
return weight;
}
}
這是truck的class
public class Truck extends Car
{
public Truck()
{
setSpeed(100);
setWeight(2000);
setWheels(10);
setKind("Truck");
}
}
可是問題就是 我不知道要如何在game這個manage寫
能讓使用者利用Car跟Animal來創造新的class說
其實規定是要使用interface
不管是競賽或者是加入新的class
所以說 其實 剛剛現有class的競賽好像也是錯誤的寫法....
因為是直接競賽? 並沒有用到一個interface....
謝謝
※ 引述《Sanbeishuu (三杯鼠)》之銘言:
: show出這段 y陣列是string的
: String y[] = {truck.getKind(),sedan.getKind(),cat.getKind(),dog.getKind()};
: String message = String.format( "NO.1 is %d, NO.2 is %d, NO.3 is %d, NO.4 is
: %d", y[0],y[1],y[2],y[3] );
: JOptionPane.showMessageDialog(null, message);
: compile是過了 但是執行卻出現這個問題
: 是因為不能使用是string的變數嗎??
: D:\Java>java game
: Exception in thread "main" java.util.IllegalFormatConversionException: d !=
: java
: .lang.String
: at
: java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:399
: 2)
: at
: java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2708)
: at java.util.Formatter$FormatSpecifier.print(Formatter.java:2660)
: at java.util.Formatter.format(Formatter.java:2432)
: at java.util.Formatter.format(Formatter.java:2366)
: at java.lang.String.format(String.java:2770)
: at game.<init>(game.java:69)
: at game.main(game.java:76)
: D:\Java>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.128.194.151