【发布时间】:2014-03-17 07:09:01
【问题描述】:
所以我有一个字符串数组
private String[] transmission = {"Drive", "Park", "Reverse"};
这是我的set方法,我在练习我的switch语句,因为我不经常使用它。
public void setTransmission(String[] transmission) {
System.out.println("To change the transmission, enter D for Drive,P for Park or R for reverse");
switch (input.nextLine()) {
case "D":
case "d":
System.out.println("The Car is currently in Drive.");
transmission[0] = this.transmission[0];
break;
case "P":
case "p":
System.out.println("The Car is currently in Park.");
transmission[1] = this.transmission[1];
break;
case "R":
case "r":
System.out.println("The Car is currently in Reverse");
transmission[2] = this.transmission[2];
break;
}
这是真正的问题。在我的 getMethod 中,它只打印数组中的第一个索引:
public String getTransmission()
{
return String.format("The car is currently in %s",transmission);
}
如何让它打印用户输入的内容?我知道我可以只使用字符串变量,但我更喜欢使用数组。
【问题讨论】:
-
您应该在
setTransmission方法中交换作业。即this.transmission[0] = transmission[0];等等。 -
您可以跟踪插入新过渡的索引并在 getter 处返回
transmission[index]。 -
@user3044002 您可能正在寻找:
String.format("The car is currently in %s",Arrays.toString(transmission))) -
@DavidWallace 然后我看不出这个
getTransmission方法的意义何在。是否应该返回 all 数组的内容? -
你需要在你的类中有某种字段来存储当前的“齿轮”,以便它可以被返回。您可以将其存储为
String值本身,也可以作为int指示数组的索引。在setTransmission方法中分配此字段。
标签: java arrays string indexing getmethod