1.编程一个程序,计算今天是今年的第几天.
输入年 输入月 输入天
package day02.HM; import java.util.Scanner; //编程一个程序,计算今天是今年的第几天. // 输入年 输入月 输入天 //输入年,判断该年2月有几天 //判断该月之前的每月有几天,循环到该月,所有天数加起来 public class days { public static void main(String[] args) { int day = 0; int sum = 0; System.out.println("请输入年"); Scanner sc = new Scanner(System.in); int year = sc.nextInt(); System.out.println("请输入月"); Scanner sc2 = new Scanner(System.in); int month = sc.nextInt(); for (int i = 1; i < month;i++) { switch ((i)) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31; break; case 4: case 6: case 9: case 11: day = 30; break; case 2: if (year%4==0&&year%100!=0||year%400==0) { day = 29; } day= 28; break; default: break; } sum +=day; } System.out.println(day); System.out.println("请输入日"); Scanner sc3 = new Scanner(System.in); int days = sc.nextInt();days += day; System.out.println("是第"+days+"天"); } }
2.猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,
就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃
前一天剩下的一半零一个。到第 10 天在想吃的时候就剩一个桃子了,求第一天共
摘下来多少个桃子?
package day02.HM; /* 猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾, 就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃 前一天剩下的一半零一个。到第 10 天在想吃的时候就剩一个桃子了,求第一天共 摘下来多少个桃子? */ public class monkey { public static void main(String[] args) { int peach = 1; for (int i = 1; i < 10; i++) { peach = (peach+1)*2; } System.out.println(peach); } }
3.一只青蛙在一口11米深的井底向上爬,白天向上爬3米,晚上向下滑2米,总共需要几天可以爬出.
package day02.HM; /* 一只青蛙在一口11米深的井底向上爬,白天向上爬3米,晚上向下滑2米,总共需要几天可以爬出. */ public class fog { public static void main(String[] args) { int day = 0; int night = 0; int longs = 11; int i = 0; while(i!=11){ i+=3; day++; System.out.println("这是第"+day+"个白天"); if(i==11){ break; } i-=2; night++; System.out.println("这是第"+night+"个晚上"); System.out.println("今天是第"+day+"天"); } System.out.println("共需要"+day+"天"+night+"夜"); } }
4.输出2–100之间的质数(只能被1和本身整除的,再没有其他因数的数)
package day02.HM; //输出2--100之间的质数(只能被1和本身整除的,再没有其他因数的数) public class number { public static void main(String[] args) { for (int i = 2; i < 100; i++) { for (int j = 2; j <=i; j++) { if (i == j) { System.out.println(i); } if (i % j == 0) { break; } } } } }
5.设计一个对银行账户余额操作的程序
假设账号: int account=666666
密码:int password=111111
余额:int balance=1000
进入程序输出选择操作选项:
1.存款,2.取款,3.查询余额
要求使用Scanner交互式操作.
存款,取款,查询均需要输入账号密码,验证没有问题即可操作.
可以多次重复操作
package day02.HM; import java.util.Scanner; /* 设计一个对银行账户余额操作的程序 假设账号: int account=666666 密码:int password=111111 余额:int balance=1000 进入程序输出选择操作选项: 1.存款,2.取款,3.查询余额 要求使用Scanner交互式操作. 存款,取款,查询均需要输入账号密码,验证没有问题即可操作. 可以多次重复操作 */ public class bank { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int balance = 1000; bank b = new bank(); boolean b1 = b.enter(); if (b1 == true) { while (true) { System.out.println("请选择你要执行的操作:1,取款;2,存款;3,查询余额,退出请按0"); int choice = sc.nextInt(); switch (choice) { case 1: System.out.println("请输入取款金额"); int take = sc.nextInt(); if (take <= balance) { balance = balance - take; System.out.println("取款成功,您当前余额为" + balance); } break; case 2: System.out.println("请输入存款金额"); int put = sc.nextInt(); balance = balance + put; System.out.println("存款成功,您当前余额为" + balance); break; case 3: System.out.println("您的余额为" + balance); break; default: System.out.println("非法输入,交易已关闭"); break; } if(choice==0){ break; } } } else { System.out.println("账号密码输入错误!"); b.enter(); } } public boolean enter(){ int account = 666666; int password = 111111; Scanner sc = new Scanner(System.in); System.out.println("请输入账号"); int acc = sc.nextInt(); System.out.println("请输入密码"); int pw = sc.nextInt(); if (acc == account && pw == password) { return true; } return false; } }