Некорректный вывод в Java

148
27 августа 2019, 16:10

Решал простою задачу на Java, и столкнулся с тем что программа некорректно выводит данные.

 System.out.println(i + 1 +' '+ k + 1 +' '+ boxes[i][k]);

Значение i и k равны 0, а boxes[i][k] - 2, но вместо 1 1 2 в консоле, я получаю 68. Вот скриншот для наглядности:

Вот сам код

import java.util.Scanner;
 public class Main {
    public static void main(String[] args) {
        // initialization
        Scanner input = new Scanner(System.in);
        int amount_of_boxes = 0;
        int height = input.nextInt();
        int width = input.nextInt();
        int [] maxs = new int [height];
        int [] [] boxes = new int [height] [width];
        // initialization array with boxes
        for (int i = 0; i < height; i++) {
            input.nextLine();
            for (int k = 0; k < width; k++) {
                boxes[i][k] = input.nextInt();
                amount_of_boxes +=  boxes[i][k];
            }
        }
        System.out.println(amount_of_boxes);
        while (amount_of_boxes != 0) {
            for (int i = 0; i < height; i++) {
                if (boxes[i][0] != 0) maxs[i] = boxes[i][0];
                else continue;
                for (int k = 0; k < width; k++) {
                    if ( boxes[i][k] == maxs[i] ) {
                        System.out.println(i + 1 +' '+ k + 1 +' '+ boxes[i][k]);
                        boxes[i][k] --;
                        amount_of_boxes --;
                    }
                }
            }
        }
    }
}
Answer 1

Одинарные кавычки интерпретируются как тип char, вычисляется значение: i + 1 + 32 + j + 1 + 32 + boxes[i][k]. Чтобы этого не происходило, используйте строки (" ").

System.out.println((i + 1) +" "+ (k + 1) +" "+ boxes[i][k]);
READ ALSO
Hibernate merge() сохраняет дубликаты

Hibernate merge() сохраняет дубликаты

В Spring MVC приложении я имею упрощенную модель следующего видаКласс User, у которого есть список файлов:

121
Общее кратное число, оптимизация

Общее кратное число, оптимизация

Есть программа, которая работает, но числа long очень долго думает, а иногда и не все выписываетУсловия : программа должна работать пока не вводится...

132
Как подставить имя метода программно?

Как подставить имя метода программно?

Смысл в том, что в зависимости от получаемых методом GET параметрах сервлетом необходимо выполнить тот или иной метод - getN1FromDB, getN2FromDB и тд

106