当阵列继续时,如何检查我在数组中输入的值是否平方?

时间:2016-11-02 21:18:38

标签: java

这是我第一次使用这个,而且我对阵列有点麻烦。我需要检查用户输入的数组中的值是否持续平方,例如{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 个答案:

答案 0 :(得分:0)

这个问题已经被问到了。下次尝试搜索功能。

但这是一个解决方案:

 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
 }