Loading...
AngelD avatar AngelD 2 Точки

Multidimensional Arrays - Lab 04

Read a set of numbers and group them by their remainder when dividing to 3 (0, 1 and 2). One first line, you will get numbers separated with coma.

Гърми ми на 4 тест и не мога да разбера защо. Кода ми е това:

import java.util.Scanner;

public class groupNums04 {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);

        String space = " ";

        String rem0 = new String();
        String rem1 = new String();
        String rem2 = new String();

        String[] lineNums = input.nextLine().split(", ");
        int[] lineNumsArr = new int[lineNums.length];

        for (int i =0; i < lineNumsArr.length; i ++){
            lineNumsArr[i] = Integer.parseInt(lineNums[i]);
        }

        for(int i =0; i < lineNumsArr.length; i ++){
            int remainder = Math.abs(lineNumsArr[i]) %3;
            if (remainder == 0){
                rem0 = rem0 + " " + Integer.toString(lineNumsArr[i]);

            } else if (remainder == 1){
                rem1 = rem1 + " " + Integer.toString(lineNumsArr[i]);

            } else if (remainder == 2){
                rem2 = rem2 + " " + Integer.toString(lineNumsArr[i]);
                
            }
        }

        String[] allRemainders = new String[]{rem0.trim(), rem1.trim(), rem2.trim()};

        int[][] jagged = new int[3][];

        for (int i = 0; i < jagged.length; i ++){
            String[] inputNums = allRemainders[i].split(" ");
            jagged[i] = new int[inputNums.length];

            for (int j = 0; j < inputNums.length; j ++){
                jagged[i][j] = Integer.parseInt(inputNums[j]);
            }
        }

        for (int i =0; i < jagged.length; i ++){
            for (int j = 0; j < jagged[i].length; j++){
                System.out.printf("%d ", jagged[i][j]);
            }
            System.out.println();
        }
    }
}
Тагове:
0
Java Advanced
plamen911 avatar plamen911 80 Точки

Може би 4-тият тест гърми с Runtime error, защото на входа се подават 1 или 2 числа (напр. 3, 4).

Ето работещ пример: http://pastebin.com/MnT4xtyQ

0
vancho avatar vancho 430 Точки

А да не би да има на 4 тест повече спейсове и за това примерно тук: String[] lineNums = input.nextLine().split(", ");

1
Sim0o0na avatar Sim0o0na Trainer 567 Точки

Давам ти моето решение, доста по-опростено е :)

цък

1
25/01/2017 11:35:00
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.