Составление матрицы «граф» из данных, введенных через сканер - PullRequest
0 голосов
/ 04 сентября 2018

Мне нужно сделать графоподобную матрицу, когда пользователь вводит свои зарплаты за все 12 месяцев года. Simplegraph распечатает вывод, округляя введенную зарплату до ближайшей 1000.

Чтобы быть точным, мой вывод должен выглядеть как на картинке ниже. Например: если пользователь вводит значение между 1501 и 2500, оно будет округлено до 2000. Я выяснил, как округлить значения, но не могу понять, как разместить X для правильного значения в назначенном месяце.

Полагаю, мне нужно сохранить значения в массиве. Однако, если я сохраню их в массиве, я не могу понять, как поместить их в соответствующий месяц.

Example Graph

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018
   //               creating scanner with 12 spaces (12 months)
                    int[] salaryIntArray = new int[12];
                    Scanner salary = new Scanner(System.in);

   //                 counters
                    int i = 0;
                    int j = 0;

   //                 entering salary for every month in array
                    while (i<salaryIntArray.length){
                        System.out.println("Enter syour salary:");
                        salaryIntArray [i] = salary.nextInt();
                        i++;
                    }

    //                trying to round numbers, but it doesnt work with arrays, only when I'am using simple integer variables
    //                Rules to round numbers:
    //                0 - 500  round to 0
    //                501 - 1500 round to 1000
    //                1501 - 2500 round to 2000
    //                2501 - 3500 round to 3000
    //                3501 - 4500 round to 4000
    //                4501 - 5500 round to 5000
                    int roundNumberArray = ((salaryIntArray + 499) / 1000 * 1000);


     //            System.out.println(roundedNumber);
     //         System.out.println();

     //         Test print to check to see if salaries are correctly saved
                    System.out.println();
                    int month = 1;
                    for (int j = 0; j<12; j++){
                        System.out.println("Salary for " + month + " month is " + salaryIntArray[i1]);
                        month ++;
                    }

Теперь мне нужно сделать таблицу / матрицу

0 голосов
/ 04 сентября 2018

одна запись в месяц в массиве?

при зацикливании и создании матрицы просто используйте метод, подобный

for y
    for x
        if(shouldPutX(x,y,months))
            System.out.print("X")
        else
            System.out.print(" ")

shouldPutX(x,y,months){
    int monthVal = month[x-1]
    if monthVal should be rounded to this line
        return true
    else
        return false
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...