学习2022/4/14
`
题目练习
`提示:day6
文章目录
接收命令行参数年、月、日,判断这一天是当年的第几天
注:判断一年是否是闰年的标准:
1)可以被4整除,但不可被100整除
2)可以被400整除
import java.util.Scanner;
public class SwitchExer1{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
int year=scan.nextInt();
int month=scan.nextInt();
int day=scan.nextInt();
int sum=0;
switch(month){
case 12:
sum+=30;
case 11:
sum+=31;
case 10:
sum+=30 ;
case 9:
sum+=31;
case 8:
sum+=31 ;
case 7:
sum+=30;
case 6:
sum+=31;
case 5:
sum+=30;
case 4:
sum+=31;
case 3:
if((year%4==0&&year%100==0)||year%400==0){
sum+=28;}
else
sum+=27;
case 2:
sum+=31;
case 1:
sum+=day;
break;
default:
System.out.println("输入有错");
break;
}
System.out.println("今年是"+year+"年"+"的第"+sum+"天");
}
}
编写程序,从1循环到150并在每行打印一个值,另外在每个3的倍数行上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印输出“baz”。
public class ForExer{
public static void main(String[] args){
for(int i=1;i<=150;i++){
if(i%3==0) System.out.println(i+" foo");
else if(i%5==0) System.out.println(i+" biz");
else if(i%7==0) System.out.println(i+" baz");
else System.out.println(i);
}
}
}
打印1~100之间所有奇数的和
int sum=0;
for( int i=1;i<=100;i++){
if(!(i%2==0)){
sum+=i;
System.out.print(" "+i);
}
}
输出所有的水仙花数,所谓水仙花数是指一个3
位数,其各个位上数字立方和等于其本身。
例如: 153 = 1*1*1 + 3*3*3 + 5*5*5
for(int i=100;i<=999;i++){
int h=i/100;
int s=(i-h*100)/10;
int g=(i-h*100-s*10);
if(i==(h*h*h+s*s*s+g*g*g))
System.out.println(i+"是水仙花");
}
九九乘法表
for( int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
int s=0;
s=i*j;
System.out.print(i+"*"+j+"="+s+ " ");}
System.out.println();
}
1—100之间的所有质数
for(int i=2;i<=100;i++){//遍历100以内的自然数,1不是质数
boolean flag=true;//设置一个布尔型的变量
/*
如果i%j=0,将flag的值赋值为FALSE,
如果i%j遍历完所有j后,都不为零,flag依旧为true,此时这个i为质数
*/
for(int j=2;j<i;j++){
if(i%j==0) {
flag=false;
}
}
if(flag==true)
System.out.print(i+" ");
}
//以下是对方法的优化
long start=System.currentTimeMillis();
//获取当前时间的毫秒数
for(int i=2;i<=100;i++){//遍历100以内的自然数,1不是质数
boolean flag=true;//设置一个布尔型的变量
/*
如果i%j=0,将flag的值赋值为FALSE,
如果i%j遍历完所有j后,都不为零,flag依旧为true,此时这个i为质数
*/
for(int j=2;j<i;j++){
if(i%j==0) {
flag=false;
break;//优化,加上break,只针对非质数的自然数的优化
}
}
if(flag==true)
System.out.print(i+" ");
}
long start1=System.currentTimeMillis();
System.out.println("start :"+start);
System.out.println("start1 :"+start1);
System.out.println("所花费的时间 :"+(start1-start));