0

Нужно переменной companyNumber присвоить значение итерации i, чтобы потом ее вывести вне цикла. Получается, что переменная companyNumber видна в цикле, но после условия, результат присвоения не виден извне. Сейчас при печати - просто 0, значение которое было присвоено при объявлении переменной. Возможно как либо сделать ее доступной?

package HomeWork;
import java.util.Scanner;
import java.util.Arrays;
class Test1 {

 public static void main(String[] args) {
        // write your code here
        int companyNumber = 0;
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] yearlyIncome = new int[n];
        int[] tax = new int[n];

        for (int i = 0; i < n; i++) {
            yearlyIncome[i] = scanner.nextInt();
        }

        for (int i = 0; i < n; i++) {
            tax[i] = scanner.nextInt();
        }
        double maxIncome = 0;
        for (int i = 0; i < n; i++) {
            double income = yearlyIncome[i] * tax[i] / 100;
            if (income > maxIncome) {
               maxIncome = income;
              companyNumber =i;
            }

        }
        System.out.println(companyNumber);
    }
}

Rrrock
  • 1

1 Answers1

1

До цикла объявляешь, как и все переменные:

int i = 0;

Потом в цикле применяешь.

for (i = 0; i < n; i++) {

если речь идёт о companyNumber значит в условие не заходит. смотри по отладке что не так

Смотри: Как и какими средствами находить ошибки в коде Java?

  • Спасибо! Поправил немного вопрос. Не то имел ввиду. Мне нужно поймать за хвост значение переменной i на котором income > maxIncome и затем вывести это значение на экран. Значение должно выводится один раз, хотя по факту таких совпадений в цикле может быть много. – Rrrock Feb 16 '22 at 14:36
  • В условие должно заходить в любом случае. По условиям задачи эти переменные yearlyIncome[i] tax[i] больше 0. Те по любому income должен получиться больше 0. Для того, чтобы там все работало переменная income double типа – Rrrock Feb 16 '22 at 14:43
  • 1
    Попробуй отладку и посмотри точно, заходит или нет. И там же сможешь посмотреть в какие моменты заходит и что присваивается – Алексей Шиманский Feb 16 '22 at 14:47
  • Все разобрался. Действительно вcе отрабатывало с переменными. Надо было всего лишь к 100 добавить D 100D. Вот тут не знал.

    Спасибо за наводку!

    – Rrrock Feb 16 '22 at 15:08