Как проверить, что значения, которые я ввожу в массиве в квадрате, как массив продолжается?

Это мой первый раз, используя это, и у меня есть немного проблем с массивами. Мне нужно проверить, если значения в массиве, что пользователь вводит постоянно в квадрате, такие как {2, 4, 16, 256}. Проверка, если num[1] = num[0] * num[0], num[2] = num[1] * num[1] и так далее. Любая помощь будет оценена.

import java.util.Scanner;

public class PS6Square {
    public static void main (String [] args){

        Scanner scan = new Scanner(System.in);
        System.out.println("How many values would you like to enter?");
        String input = scan.next();
        int array = Integer.parseInt(input);
        int num[] = new int[array];
        int i = 0;
        boolean result = false;

        for(i = 0; i < num.length; i++)
        {
            System.out.print("Enter a value:t");
            num[i] = scan.nextInt();
            if(num[i] == num[i] * num[i])
            {
                result = true;
            }
        }

        System.out.println("nThe result is:t" + result);
    }
}

1 ответ

  1. Этот вопрос уже был задан. Попробуйте воспользоваться функцией поиска в следующий раз.

    Но вот решение:

     double sqrt = Math.sqrt(int_to_test);
     int x = (int) sqrt;
     if(Math.pow(sqrt,2) == Math.pow(x,2)){
     //it is a perfect square
     }