Не могу получить вывод на экран - PullRequest
0 голосов
/ 19 марта 2020
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int testCases = sc.nextInt();
        String[] bigNames = new String[testCases];

        while(testCases != 0)
        {
            int noOfNames = sc.nextInt();
            sc.nextLine();
            String[] names = new String[noOfNames];
            for(int i = 0; i<noOfNames; i++)
                names[i] = sc.nextLine();

            for(int i = 0; i<noOfNames-1;i++)
                if(names[i].length() > names[i+1].length())
                {
                    String temp = names[i];
                    names[i] = names[i+1];
                    names[i+1] = temp;
                }

            bigNames[testCases-1] = names[noOfNames-1];
            testCases--;
        }
        for(int i = testCases-1; i >= 0; i--)
            System.out.println(bigNames[i]);

    }
}
2
3
Vjhhjg
Gjbh
Vhb
2
-gbhg
Bbb

Программа завершается без печати последней строки цикла * / **

1 Ответ

0 голосов
/ 19 марта 2020

Я не уверен, что вы пытаетесь сделать, вы должны сказать нам, что вы хотите, чтобы этот код должен был делать. в любом случае, я постараюсь помочь вам
while(testCases != 0)

будет продолжаться до тех пор, пока testCases не станет 0. Так что

        for(int i = testCases-1; i >= 0; i--)
        System.out.println(bigNames[i]);

никогда не запустится, так как я равен -1 в начале из l oop.

, что вы можете сделать:

    Scanner sc = new Scanner(System.in);

    int testCases = sc.nextInt();
    int j = testCases;
    String[] bigNames = new String[testCases];

    while(j != 0)
    {
        int noOfNames = sc.nextInt();
        sc.nextLine();
        String[] names = new String[noOfNames];
        for(int i = 0; i<noOfNames; i++)
            names[i] = sc.nextLine();

        for(int i = 0; i<noOfNames-1;i++)
            if(names[i].length() > names[i+1].length())
            {
                String temp = names[i];
                names[i] = names[i+1];
                names[i+1] = temp;
            }

        bigNames[j-1] = names[noOfNames-1];
        j--;
    }
    for(int i = testCases-1; i >= 0; i--)
        System.out.println(bigNames[i]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...