Доступ к переменной в условии IF внутри цикла FOR

Нужно переменной 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);
        }
    }

Ответы (1 шт):

Автор решения: Алексей Шиманский

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

int i = 0;

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

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

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

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

→ Ссылка