Узнайте, есть ли в массиве целое число 6 в первой или последней позиции - PullRequest
0 голосов
/ 20 июня 2020

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

public Boolean firstLast6(int[] a[]){
        int size = a.length;
        int x = 0;
        for(int i = 0; i < size; i++){
            if ((a[i] == 6)&&((i != 0) || (i != size - 1)))
                x = 1;
        }
        if (x == 1){
            return true;
        }
        else{
            return false;
        }
    }

это мой основной, где, я думаю, возникает проблема

    public static void main (String[] args) throws java.lang.Exception
    {
        System.out.println("Enter Numbers with Space: ");
        Scanner scan = new Scanner(System.in);
        String[] arr = scan.readLine().split(" ");//take the input in string array separated by whitespaces" "
        int [] intArr = new int[arr.length];
        for (int i = 0; i < arr.length; i++){
            intArr[i] = Integer.parseInt(arr[i]);//each array indices parsed to integer
        }
        Boolean ans = firstLast6(intArr);
        if (ans == true){
            System.out.println("6 is in the first or last position");
        }
        else {
            System.out.println("6 is not in the first or last position");
        }
    }

Ответы [ 2 ]

5 голосов
/ 20 июня 2020

Вам не нужно oop проверять последний и первый индекс массива.

public boolean firstLast6(int[] a){
    return a[0] == 6 || a[a.length - 1] == 6;
}
1 голос
/ 20 июня 2020

Ответ Юсуфа правильный. Однако:

  1. firstLast6 должен быть stati c для вызова в main, или вам нужно создать экземпляр своего класса.

  2. Если вы не укажете размер массива, вы должны прочитать его в массиве String, а затем проанализировать каждый элемент в нем с помощью Integer.parseInt(arr[i]); и добавить его в свой массив int:

    String[] arr = scan.nextLine().split(" "); // String array (where your input goes)
    int[] nums = new int[arr.length]; // int array, where parsed integers will be stored
    for (int i = 0; i < arr.length; i++) // parsing each String and assigning it to int array
        nums[i] = Integer.parseInt(arr[i]);
    

Вот весь код, который вы можете использовать:

   public static Boolean firstLast6(int[] a) {
    return a[0] == 6 || a[a.length - 1] == 6;
   }

 public static void main (String[] args) {
    System.out.println("Enter Numbers with Space: ");
    Scanner scan = new Scanner(System.in);
    String[] arr = scan.nextLine().split(" ");
    int[] nums = new int[arr.length];
    for (int i = 0; i < arr.length; i++) {
        nums[i] = Integer.parseInt(arr[i]);
    }
    
    Boolean ans = firstLast6(nums);
    if (ans == true){
        System.out.println("6 is in the first or last position");
    }
    else {
        System.out.println("6 is not in the first or last position");
    }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...