首页 > 解决方案 > 用 forEach JAVA 打印句子的位置。我在哪里错了?

问题描述

public static void componiPoesia(String outputFile, String[] frasi) {
    try (PrintWriter pw = new PrintWriter(
            new FileOutputStream(new File(outputFile), true))) {

        int count = 0;
        for (String frase : frasi) {
            pw.print(frase + ". ");
            count++;
            pw.print("\n" + count);
        }
        pw.close();

    } catch (IOException e) {
        System.out.println("Error writing into the outputFile: " + outputFile);
        e.printStackTrace();
    }
}

*这是应该出来的

ChiHaRobaInMareNonHaNulla. TuttiIPiuGrandiPensieriSonoConcepitiMentreSiCammina. 
2, 1

这是从我身上出来的

ChiHaRobaInMareNonHaNulla. 
1TuttiIPiuGrandiPensieriSonoConcepitiMentreSiCammina. 
2

标签: javaalgorithm

解决方案


根据预期的输出,我想,您必须在 for each 循环中将短语打印到文件(来自 String[] frasi 数组)并计算短语的数量。您不必在 for-each 循环中打印计数器。在循环之后,您可以执行以下操作:

while(counter > 0)
{
  pw.print(counter);
  counter--;
  if(counter > 0)
     pw.print(", ");
}

推荐阅读