2022/4/14 学习day6

学习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();
 }
1100之间的所有质数
	 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));	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值