需求:键盘录入一个大于等于2的整数x,计算并返回x的 平方根(开根号)结果只保留整数部分,小数部分将被舍去。
package Base_se.Base_701;
import java.util.Scanner;
import java.util.regex.Pattern;
/**
* @ClassName test
* @author gyf
* @Date 2024/7/1 19:57
* @Version V1.0
* @Description :
*/
public class test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入一个大于等于2的整数:");
int num = scanner.nextInt();
Pattern pattern = Pattern.compile("[0-9]*");
// 判断数字是否是整数 多余判断
boolean flag = pattern.matcher(Integer.toString(num)).matches();
while (num<2 || !flag){
System.out.println("重新输入");
num = scanner.nextInt();
}
int sqrt_num = (int) Math.sqrt(num);
System.out.println(sqrt_num);
// 或者for循环遍历实现
for (int i = 0; i < num; i++) {
if (i*i ==num){
System.out.println(i);
break;
} else if (i*i>num) {
System.out.println(i-1);
break;
}
}
}
}