用java怎么判断一个数是否为完全平方数

 我来答
很神很奇很神奇
2017-04-21 · TA获得超过168个赞
知道小有建树答主
回答量:211
采纳率:80%
帮助的人:55.9万
展开全部
这种是数学问题了,完全平方数 0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,529…
找一下规律 就是开方可以得到一个int型整数 我有个笨办法
假定要判断的数是 X double d= Math.sqrt(x) (因不确定是否是完全平方,所以可能出现小数 这里用double)得到开放后的结果 ,做一个int 数组 int arr[]={0,1,2,3,4,5,6,7,8,9};
然后呢,我们用 一个for 循环 遍历d分别与arr中的每个元素进行%运算,外层再加一个for循环与每个%运算结果匹配 如果结果为true 那这个数就是完全平方数
!!
数学渣渣的人算起来就很复杂,还很可能让人看不懂,如果一个数学牛B的一两行代码说不定就搞定啦!!
思路出来了 我用代码又敲了一遍,下面代码送上

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int str=sc.nextInt();
int arr[]={0,1,2,3,4,5,6,7,8,9};
double d= Math.sqrt(str);
double ds=0;
j: for( int a:arr){
for(int h=0;h<arr.length;h++){
ds=d%arr[h];

if(ds==a){
System.out.println((int)d);
break j;
}

}
System.out.println("这个数不是");
break j;
}
}
953839454
2017-04-21 · TA获得超过125个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:84.5万
展开全部
//main方法
public static void main(String[] args) {
System.out.println(isSquare(121));
}
//判断是否是完全平方数方法体
public static String isSquare(int num){
//负数不是完全平方数
if(num<0){
return num+"不是完全平方数";
}
//比该数小的数中  有能平方等于该数  说明是完全平方数
for (int i = 0; i < num; i++) {
if(i*i==num){
return num + "是完全平方数";
}
}
return num+"不是完全平方数";
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
smileXbel
2017-04-21 · TA获得超过277个赞
知道小有建树答主
回答量:423
采纳率:100%
帮助的人:258万
展开全部
static boolean isSqrt(double num){
String regex = "\\d+.0+";
return(Math.sqrt(num)+"").matches(regex);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式