【问题标题】:How to increment the number value with printed object如何用打印的对象增加数值
【发布时间】:2015-11-26 14:59:28
【问题描述】:
public void Achievement() throws FileNotFoundException, IOException{
    System.out.println("\t\t\tRanking of the 10 Players");   
    PlayerInterface<Players> nameList = new PlayerListADT<Players>();
    int i=1;
    nameList.add(new Players("Jackson",10));
    nameList.add(new Players("Micheal",20));
    nameList.add(new Players("Jack",30));
    nameList.add(new Players("Percy",40));
    nameList.add(new Players("FonD",50));
    nameList.add(new Players("Tekker",60));
    nameList.add(new Players("FOMd",70));
    nameList.add(new Players("ZXC",80));
    nameList.add(new Players("PP",90));
    nameList.add(new Players("TT",100));
    nameList.add(new Players("Sam",120));

    for(int i =1; i<nameList.length;i++) {
        System.out.println("No:"+i +nameList);
    }
}

实际输出:

12 Player Jackson 10

期望的输出:

No: 1 Jackson 10
No : 2 Micheal 20

【问题讨论】:

  • 你能把Players类的toString方法贴出来
  • public String toString() { return String.format(" Player %-10s: %-3d",firstName,completeTime); }
  • PlayerListADTtoStirng方法是什么
  • public String toString() { String outputStr = ""; for (int index = 0; index
  • 我是stackoverflow的新手,抱歉我对格式不太熟悉

标签: java increment


【解决方案1】:

为了得到想要的输出:

没有:1 杰克逊:10

没有:2 迈克尔:20

.....等等

您需要将PlayerListADTtoString方法更改为:

public String toString() { 
    String outputStr = ""; 
    for (int index = 0; index < length; ++index) { 
        outputStr += "No: "+(index+1)+" "+playerList[index] + "\n"; 
    } 
    return outputStr; 
} 

而不是循环

for(int i =1; i<nameList.length;i++) {
    System.out.println("No:"+i +nameList);
}

简单写:

System.out.println(nameList.toString());

【讨论】:

  • 谢谢!你让我免于在这个问题上花费 3 个小时。很抱歉格式混乱。再次感谢,不胜感激!
  • @ValentineZ 我希望你明白我为什么提出这些更改以及这些更改是如何工作的
猜你喜欢
  • 2019-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多