JAVA基础练习(3)
目录
2.使用while、do-while以及for循环三种编程方式实现:计算100以内(包括100)的偶数之和
4.(使用for循环)打印出1-100之间所有不是7的倍数和不包含7的数字,并求和
5.(使用while循环)循环输入5个数,输完后显示这些数中有没有负数
9.计算2000年1月1日到2008年1月1日相距多少天。(注意闰年366,平年365)
1.学习记录
package ch03;
import java.util.Scanner;
/**
*
* @time 2023/5/29
*/
public class Demo {
public static void main(String[] args) {
int i = 0;
boolean bool =false;//假设学习不合格
Scanner sc = new Scanner(System.in);
while( !bool) {
//不合格进入
System.out.println("上午阅读教材,学习理论部分,下午上机编程,掌握代码部分");
System.out.println("检查是否合格(y/n)?");
String str =sc.next();
if("y".equals(str)) {
bool =true;
}
}
System.out.println("毕业了");
/*
Scanner sc =new Scanner(System.in);
boolean bool = false;
do {
System.out.println("编写程序");
System.out.println("检查是否合格(y/n)?");
String str = sc.next();
if(str.equals("y")) {
bool = true;
}
}while(!bool);
*/
}
}
2.使用while、do-while以及for循环三种编程方式实现:计算100以内(包括100)的偶数之和
package ch03;
/**
*
* @time 2023/5/29
*/
public class Test00 {
public static void main(String[] args) {
//使用while、do-while以及for循环三种编程方式实现:计算100以内(包括100)的偶数之和
// while
int a = 0;
int num = 0;
while (a <= 100) {
num += a;
a += 2;
}
System.out.println(num);
// do-while
int b = 0;
int num2 = 0;
do {
num2 += b;
b += 2;
}
while(b<=100);
System.out.println(num2);
// for
int num1 = 0;
for (int i = 0; i <= 100; i++) {
if (i % 2 == 0) {
num1 += i;
}
}
System.out.println(num1);
}
}
3.随机数
package ch03;
import java.util.Scanner;
import java.util.Random;
/**
* @Time 2023/5/26
*/
public class Test01 {
/*
* 生成游戏答案1~100 import java.util.Random; Random ran=new Random(); int
* num=ran.nextInt(100)+1; 1.(使用while循环)随机生成一个1-100之间的数字num,循环让用户输入猜这 个数,
* 如果用户输入的数字大于num提示输入的数字比较大, 如果用户输入的数字小于num提示输入的数字比较小,
* 直到用户输入的数字和num相等为止,然后输出用户猜数的总次数
*
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 生成1-100的数字
Random ran = new Random();
int num = ran.nextInt(100) + 1;
System.out.println(num);// 查看生成的随机数
System.out.print("用户输入数字:");// 用户输入数字进行猜测
int count = 0;
while (true) {
int num1 = sc.nextInt();
if (num > num1) {
System.out.print("小了,请重新输入:");
count++;
} else if (num < num1) {
System.out.print("大了,请重新输入:");
count++;
} else {
System.out.println("答对了");
count++;
break;
}
}
System.out.println(count);
}
}
4.(使用for循环)打印出1-100之间所有不是7的倍数和不包含7的数字,并求和
package ch03;
public class Test02 {
public static void main(String[] args) {
//2.(使用for循环)打印出1-100之间所有不是7的倍数和不包含7的数字,并求和
int sum = 0;
for(int i = 0;i <= 100;i++) {
//7的倍数
// if(i%7==0) {
// System.out.println(i);
// }
//7的倍数,以及不包含7的数字(17,27,37..,71..)
if(i%10==7||(i/10)%10==7||i%7==0) {
System.out.print(i+" ");
sum += i;
}
}
System.out.println("求和:"+sum);
//总:5050
}
}
5.(使用while循环)循环输入5个数,输完后显示这些数中有没有负数
package ch03;
import java.util.Scanner;
/**
* @time 2023/5/29
*/
public class Test03 {
public static void main(String[] args) {
//3.(使用while循环)循环输入5个数,输完后显示这些数中有没有负数
Scanner sc = new Scanner(System.in);
int i = 1;
int q = 0;
while(i<6) {
System.out.print("请输入第"+i+"个数:");
int num =sc.nextInt();
i++;
if(num<0) {
q++;
}
}
System.out.println("共有"+q+"个负数");
}
}
6.神经病存钱
package ch03;
public class Test04 {
public static void main(String[] args) {
/*
* (使用while循环)有一个有钱的神经病,他往银行里存钱,
* 第一天存1元,以后每天比前一天多存50%,
* 完成下列计算任务:
* (1)他存到第几天,当天存的钱会超过10元
*/
double money = 1;
int day = 1;
while(money<10) {
System.out.println("第"+day+"天存了"+money+"元");
money = money*1.5;
System.out.println(money);
day += 1;
}
System.out.println("第"+day+"天超过10元");
}
}
7.神经病存钱 (二)
package ch03;
public class Test05 {
public static void main(String[] args) {
/*
* (使用for循环)一个月(30天)后,他总共存了多少钱
*/
double money = 1;
double sum = 0;
for(int day = 1;day<=30;day++) {
sum = sum + money;
System.out.println("第"+day+"天存了"+money+"元");
money = money*1.5;
}
System.out.println("一个月合计:"+sum);
}
}
8.蜗牛爬井
package ch03;
/**
* @time 2023/5/29
*
*/
public class Test06 {
public static void main(String[] args) {
/*
* 6.(使用do-while循环)
* 里有一只蜗牛,他白天往上爬5米,晚上掉3.5米,井深56.7米
* 计算蜗牛需要多少天才能从井底到爬出来
*/
int day = 1;
double h = 56.7;
double h1 = 0;
do {
h1 = h1 + 5;
System.out.println("第"+day+"白天爬了"+h1);
if(h1>56.7) {
System.out.println("第"+day+"天爬出来");
break;
}
h1 = h1 - 3.5;
System.out.println("第"+day+"晚上掉落"+h1);
day++;
}
while(h1<56.7);
}
}
9.计算2000年1月1日到2008年1月1日相距多少天。(注意闰年366,平年365)
package ch03;
public class Test07 {
public static void main(String[] args) {
/*
* 7.(使用for循环)计算2000年1月1日到2008年1月1日相距多少天。(注意闰年366,平年365)
*/
int day = 0;
int sum = 0;
for(int year = 2000;year<2008;year++) {
if(year % 4 == 0 && year % 100 != 0 ||year % 400 == 0) {
day = 366;
}
else {
day = 365;
}
sum += day;
}
System.out.println(sum);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!