Java循环分支题复习
某人有100000元,每经过一次路口,需要交费,规则如下:
当现金>50000,每次交百分之五
当现金<=50000时,每次交1000
编程计算他可以经过多少次路口
//某人有100000元,每经过一次路口,需要交费,规则如下:
//当现金>50000,每次交百分之五
//当现金<=50000时,每次交1000
//编程计算他可以经过多少次路口
public class Work01 {
public static void main(String[] args) {
double havemoney = 100000;
int num = 0;
while(havemoney>50000) {
havemoney*=0.95;
num++;
}
while(havemoney>1000 && havemoney<=50000) {
havemoney-=1000;
num++;
}
System.out.println("此时剩下的现金为"+havemoney);
System.out.println("经过了"+num+"次路口");
}
}
判断一个整数大于小于或等于0
//判断一个整数大于小于或等于0
import java.util.Scanner;
public class Work02 {
public static void main(String[] args) {
Scanner myScanner=new Scanner(System.in);
System.out.println("请输入一个整数");
int num = myScanner.nextInt();
if(num>0) {
System.out.println("该数大于0");
}
else if(num<0) {
System.out.println("该数小于0");
}
else if(num==0) {
System.out.println("该数等于0");
}
else {
System.out.println("输入的数字有误");
}
myScanner.close();
}
}
判断一个年份是否为闰年
//判断一个年份是否为闰年
import java.util.Scanner;
public class Work03 {
public static void main(String[] args) {
//能被400整除,或者能被4整除但不能被100整除的都是闰年
Scanner sc=new Scanner(System.in);
System.out.println("请输入你想判断的年份");
int year=sc.nextInt();
if(year%400==0 || (year%4==0 && year%100 !=0)) {
System.out.println("该年份是闰年");
}
else if(year>=0){
System.out.println("该年份不是闰年");
}
else {
System.out.println("请输入正确的年份");
}
sc.close();
}
}
判断一个整数是否是水仙花数
所谓水仙花数是指一个3位数
其各个位上数字立方和等于其本身
//判断一个整数是否是水仙花数
//所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身
import java.util.Scanner;
public class Work04 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(true) {
System.out.println("请输入一个3位整数");
int num=sc.nextInt();
if(num>=100 && num<1000) {
int a=(int)num/100;
int b=(int)((num%100)/10);
int c=num%10;
if(a*a*a+b*b*b+c*c*c==num) {
System.out.println("该数是一个水仙数");
}else {
System.out.println("该数不是水仙数");
}
}else {
System.out.println("请输入正确的数字");
continue;
}
}
}
}
输出什么?
//输出什么?
public class Work05 {
public static void main(String[] args) {
int m=0,n=3;
if(m>0) {
if(n>2)
System.out.println("ok1");
else
System.out.println("ok2");
}
}
}
答案是什么也不输出。
输入1到100之间的不能被5整除的数,每五个一行
//输入1到100之间的不能被5整除的数,每五个一行
public class Work06 {
public static void main(String[] args) {
int sum=0;
for(int i=1;i<=100;i++) {
if(i%5!=0) {
System.out.print(i+" ");
sum+=1;
if(sum%5==0) {
System.out.println("");
}
}
}
}
}
输出小写的a-z以及大写的Z-A
//输出小写的a-z以及大写的Z-A
public class Work07 {
public static void main(String[] args) {
for(char a1='a';a1<='z';a1++) {
System.out.print(a1);
}
System.out.println();
for(char a2='Z';a2>='A';a2--) {
System.out.print(a2);
}
}
}
求出1-1/2+1/3-1/4……1/100的和
//求出1-1/2+1/3-1/4……1/100的和
public class Work08 {
public static void main(String[] args) {
double sum=0;
for(double i=1;i<=100;i++) {
if(i%2!=0) {
sum=sum+(1/i);
}
else {
sum=sum-(1/i);
}
}
System.out.println(sum);
}
}
优化后
public class Work08 {
public static void main(String[] args) {
double sum=0;
for(int i=1;i<=100;i++) {
if(i%2!=0) {
sum+=(1.0/i);
}
else {
sum-=(1.0/i);
}
}
System.out.println(sum);
}
}
求1+(1+2)+(1+2+3)+……(1+2+3+……+100)的结果
//求1+(1+2)+(1+2+3)+……(1+2+3+……+100)的结果
public class Work09 {
public static void main(String[] args) {
int sum=0;
int total=0;
for(int i=1;i<=100;i++) {
sum+=i;
total+=sum;
}
System.out.println("sum "+sum+" total "+total);
}
}