一、 百僧百馍
import java.util.Arrays; public class baimo { public static void main(String[] args) { int i; int j; for (j = 0; j <= 100; j++){ i = 100 - j; if (3 * i + j / 3 == 100){ System.out.println("大和尚有" + i + "个人"); System.out.println("小和尚有" + j + "个人"); } } } }
这里运用一个for循环,在使用if语句来计算人数。
二、水仙花数
import java.util.Arrays; import java.util.Scanner; public class shuixianhuashu { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入一个数"); int i= sc.nextInt(); int a=i/100; int b=(i%100)/10; int c=i%10; if(a*a*a+b*b*b+c*c*c==i){ System.out.println("此数为水仙花数"); } else{ System.out.println("此数不是水仙花数"); } break; } }
水仙花数是一个三位数,他的个位立方加十位立方加百位立方等于这个数本身。 判断一个数是否是水仙花数,就是把他们的个位十位百位分别计算后相加对比。 这里直接要求输入一个数,来判断是否是水仙花数。直接把输入的数进行个位十位百位的拆分后判断。 “/”是除后去整数部分,“%”是除后的余数。
三、猴子吃桃问题
import java.util.Arrays; public class 吃桃 { public static void main(String[] args) { int i=9; int j=1; while(i>=1){ j=(j+1)*2; i=i-1;} System.out.println("桃子数有" +j); } }
这里运用一个while循环使得i达到要求后结束循环。
四、斐波那契兔子问题
import java.util.Arrays; import java.util.Scanner; public class feiborabbit { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入月份"); int mouth=sc.nextInt(); int num1=1,num2=1,temp=0; for(int i=3;i<=mouth;i++){ temp=num1+num2; num1=num2; num2=temp; } System.out.println("第" +mouth+"个月有"+num2+"只兔子"); } }
这里的问题简单化后就是一个斐波那契数列的问题1 1 2 3 5。。。
五、猜价格
import java.util.Scanner; public class caijiage { public static void main(String[] args) { String username; float plan_price=0.00f; System.out.println("****************************"); System.out.println(" 游戏: 幸运价格猜猜猜"); System.out.println(" 作者:zzj"); System.out.println(" 版本:v1.0"); System.out.println("*****************************"); Scanner scanner = new Scanner(System.in); System.out.println("回车键开始游戏"); scanner.nextLine(); System.out.println("请输入用户名字"); username=scanner.next(); System.out.println(username+",欢迎进入游戏空间,现在请选择的价格猜猜猜商品的类别"); System.out.println("***********************"); System.out.println("1------键盘(1000-2000)"); System.out.println("2------数据线(1-100)"); System.out.println("***********************"); String user_choice=scanner.next(); switch(user_choice){ case "1": plan_price=Math.round(Math.random()*1000+1000); break; case "2": plan_price=Math.round(Math.random()*99+1); break; default: plan_price=Math.round(Math.random()*10000); } System.out.println("请用户输入猜猜猜的价格:"); float user_price=scanner.nextFloat(); boolean flag=false; while(!(user_price==plan_price)){ if(user_price<=0) { flag=true; break; } if(user_price>plan_price){ System.out.println("猜大了"); }else{ System.out.println("猜小了"); } user_price=scanner.nextFloat(); } if(flag){ System.out.println("再接再励"); }else{ System.out.println("你真聪明"); } } }