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