目录
1. 回文判断
2. 减法求商余
3. 求平方根
4.求质数
5. 猜数字
1. 回文判断
输入一个数字,判断是否为回文,回文就是正着读和反着读都一样,如121是回文,123则不是。
import java.util.Scanner;
public class DemoNew {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个数字");
int num=sc.nextInt();
int num_pre=num;//原数字
int num_next=0;//整理后的数字
//获取该数字的每个位,从个位开始,直到最高位
while(num!=0){
int index=num%10;//获取最低位上的数字
num=num/10;//最低位往上上一位
num_next=num_next*10+index;//整理后的数字往上上一位且加上暂时的最低位
}
if(num_next==num_pre){
System.out.println("是回文");
}else{
System.out.println("不是回文");
}
}
}
结果如下
2. 减法求商余
输入一个被除数和一个除数,要求在不利用乘法、除法、取余的情况下得到商和余数。
import java.util.Scanner;
public class DemoNew {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入被除数");
int num1=sc.nextInt();
System.out.println("请输入除数");
int num2=sc.nextInt();
int shang=0;//商
int yushu=0;//余数
while(num1/num2!=0){//当被除数小于除数,跳出循环,则此时的被除数就是余数
num1-=num2;//一下一下减
shang++;
}
yushu=num1;
System.out.println("商是"+shang);
System.out.println("余数是"+yushu);
}
}
结果为:
3. 求平方根
输入一个大于等于2的整数,返回其平方根,结果只保留其整数部分,小数部分舍去。
import java.util.Scanner;
public class DemoNew {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个整数");
int x=sc.nextInt();
for(int i=1;i<=x;i++){//根最大不会超过x
if(i*i>x){//一旦超过x
System.out.println("简化后的根为"+(i-1));
break;
}
}
}
}
结果为
4.求质数
输入一个正整数,判断是否为质数,质数只能被1和本身整除,否则叫合数。
import java.util.Scanner;
public class DemoNew {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个正整数");
int x=sc.nextInt();
boolean flag=true;
for(int i=2;i<=x/2;i++){//除数最多不会超过x/2
if(x%i==0){//如果被其他数整除
System.out.println("是合数");
flag=false;//是合数的标志
break;
}
}
if(flag==true){
System.out.println("是质数");
}
}
}
结果为
5. 猜数字
不断输入数字,通过猜大了猜小了提示以此来猜对系统提供的数字。
import java.util.Scanner;
import java.util.Random;//引用random模块
public class DemoNew {
public static void main(String[] args) {
Random random = new Random();//创建一个Random对象
int randomInt = random.nextInt(100);//随机生成一个0-99之间的整数
Scanner sc = new Scanner(System.in);
System.out.println("输入你要猜的数");
int x = sc.nextInt();
while (randomInt != x) {//当输入的数不对时
if (x > randomInt) {
System.out.println("输大了");
} else {
System.out.println("输小了");
}
System.out.println("请重新输入你要猜的数");
x = sc.nextInt();
}
System.out.println("猜对了");
}
}
结果为
关于random模块,random.nextInt((max - min) + 1) + min;
:生成一个从min
到max
之间的随机整数,包括min
和max
。nextInt(bound)
生成一个从0到bound - 1
之间的整数,加上min
后将范围调整为[min, max]
。