как вставить в двухмерный массив? - PullRequest
0 голосов
/ 28 сентября 2019

я новая команда, в этой задаче я вставлю несколько строк в массив, но компилятор даст мне такую ​​проблему: PhoneNumber.java:29: ошибка: несовместимые типы: строка не может быть преобразована в логическое значение while (test [i] [j]) ^ 1 ошибка

public class PhoneNumber{
   public static void check_number(String[][] numbers, int n)
   {
       int i,j;
       for(i = 0; i < n; i++)
       {
           for(j = 0; j < numbers[i].length; j++)
           {
               if(numbers[i][j] == "4" || numbers[i][j] == "5")
               {
                   System.out.println("Done");

               }
           }   
       }
   }
   public static void main(String[] args)
   {
       String[][] test = new String[100][100];
       Scanner number = new Scanner(System.in);
       int n,i,j;
       System.out.println("enter the number of numbers");
       n = number.nextInt();
       for(i = 0 ; i < n; i++)
       {
           System.out.println("enter the number " + i + 1);
                j = 0;
           while(test[i][j])
           {
           test[i][j] = number.nextLine(); 
           j++;
           }
       }
   check_number(test,n);
   }
}

1 Ответ

0 голосов
/ 28 сентября 2019

Вот базовый подход для массива 1D String с примечаниями:

import java.util.Scanner;

public class PhoneNumber{
   public static void check_number(String[] numbers, int n)
   {
       for(int i = 0; i < n; i++)
       {
           System.out.println(numbers[i]);
           //the String class method equals is best for comparison:
           if(numbers[i].equals("4") || numbers[i].equals("5"))
           {
               System.out.println("Done");
           }
       }
   }

public static void main(String[] args)
   {
       Scanner number = new Scanner(System.in);
       int n;
       System.out.println("enter the number of numbers");
       n = number.nextInt();
       //clean the scanner buffer after input especially with Int -> Line
       number.nextLine();
       //size your array after getting user input
       String[] test = new String[n];
       for(int i = 0 ; i < n; i++)
       {
           //parenthesis needed to get correct output for i + 1
           System.out.println("enter the number " + (i + 1));
           test[i] = number.nextLine(); 
       }
   check_number(test,n);
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...