Java作业1(8种基本类型的读入方式和关闭方式)(第一次上机的体会)

第一次上机,体会到

(1)Pre Append Code是前代码,Post Append Code是后代码,这两个地方一般是题目中给出的,之后自己写代码,希望之后,加上题目中给出的代码应当可以运行

(2)提交的JAVA类名只能是Main,不能是别的类名

(3)提交的时候不要把package这一行提交上,只需要提交import这一行和这一行下面的部分


1、判断一年是否是润年

Description

编写一个类的方法,判断某一年是否为闰年。闰年的条件是符合下面二者之一:能被 4 整除,但不能被 100 整除;或者,能被400 整除。给定一个整数年份,能输出是否是瑞年,是则输出“Yes”,否则输出“No”。

Input

输入一个整数年份year

Output

输出是否是瑞年,是则输出“Yes”,否则输出“No”

Sample Input

1983

Sample Output

No

HINT

Pre Append Code

None

Post Append Code

None

答案:

import java.util.*;

public class Main 
{
    public static void main(String[] args)
    {
    	Scanner scan=new Scanner(System.in);
    	long year=scan.nextLong();
    	if((year%4==0&&year%100!=0)||year%400==0)
    	{
    		System.out.println("Yes");
    	}
    	else    
    		System.out.println("No");
    	}
}

注意:
1、8种基本类型的读入方式
https://blog.csdn.net/basycia/article/details/52098649

import java.util.*;

Scanner scan=new Scanner(System.in);
float l=scan.nextFloat();
double l1=scan.nextDouble();//这里不能是double l,因为在一个变量的作用域范围内不能有同样的变量名出现;
int l2=scan.nextInt();

scan.close();

(1)Scanner scan=new Scanner(System.in);这一句的作用是通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容作为扫描对象,传给Scanner。

(2)变量类型应该与相应的读取方式相一致。

(3)nextInt()、nextFloat()、nextDouble()这三个,可以认为是一类,这些都是“阻塞式的”,意思就是如果遇到空格,Tab,Enter,会继续等待,直到获得相应类型相应的值,之后遇到空格或者是回车就停止读入数据了。

(4)https://blog.csdn.net/daiidai/article/details/80716312

2、闰年的条件时能被4整除但是不能被100整除或者是能被400整除的数据。


2、打印所有的水仙花数

Description

编写程序打印出所有的水仙花数。所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 输出的数之间用“,”(英文半角的逗号)分割。

Input

Output

153,370,371,407

Sample Input

Sample Output

153,370,371,407

HINT

注意输出的格式

Pre Append Code

None

Post Append Code

None

答案:

public class Main 
{
    public static void main(String[] args) 
    {
    	int j,k,m;
    	int cout=0;
    	for(int i=100;i<1000;i++)
    	{
    		j=i/100;k=i/10%10;m=i%10;
    		if(j*j*j+k*k*k+m*m*m==i)
    		{
    			if(cout==0) 
    			{
    				System.out.print(i);
    				cout=1;
    			}
    			else 
    			{
    				System.out.print(","+i);
    			}
    		}
    	}
    }
}

注意:
1、注意输出的方式
print()是直接输出一个数据,不换行的意思,但是println()是输出完数据之后接着换行的意思。

2、注意个位、十位、百位上的数字如何分离


3、打印N以内的素数

Description

编写程序打印出N以内的素数,输出的素数之间用“,”(英文半角的逗号)分割。

Input

输入一个整数N,确定筛选的范围。

Output

输出筛选范围内的所有素数,输出的素数之间用“,”(英文半角的逗号)分割。

Sample Input

100

Sample Output

2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97  

HINT

注意输出的格式

Pre Append Code
None
Post Append Code
None

答案:

import java.util.Scanner;

public class Main 
{
    public static void main(String[] args)
    {
    	Scanner scan=new Scanner(System.in);
    	int y=scan.nextInt();
    	int cout=0;
    	for(int i=2;i<y;i++)
    	{
    		int k=0;
    		for(int j=2;j<i;j++)
    		{
    			if(i%j==0)
    			{
    				k=1; 
    				break;
    			}
    		}
    		if(k==0&&cout==0)
    		{
    			System.out.print(i);
    			cout+=1;
    		}
    		else if(k==0&&cout>=1)
    		{
    			System.out.print(",");
    			System.out.print(i);
    		}
    	}
    }
}

4、一个整数各个位上的最大数字

Description

编写一个类的方法,其输入参数为一个整数,输出为该整数各个位上的最大数字。

Input

输入一个整数N

Output

输出该整数N各个位上的最大数字

Sample Input

59274

Sample Output

9

HINT

Pre Append Code
None
Post Append Code
None

答案:

import java.util.Scanner;

public class Main 
{
    public static void main(String[] args) 
    {
        Scanner scan=new Scanner(System.in);
        long y=scan.nextLong();
        long i=0;
        long j=0;
        while(y!=0)
        {
            i=y%10;
            y=y/10;
            if(j<i)
            {
            	j=i;
            }
        }
        System.out.println(j);
    }
}

5、N之内的正偶数

Description

编写程序,接收整数参数n,输出小于n的所有正偶数。

Input

整数参数n

Output

小于n的所有正偶数(以英文半角分开)

Sample Input

7

Sample Output

2,4,6

HINT

Pre Append Code
Post Append Code

答案:

import java.util.Scanner;

public class Main 
{
    public static void main(String[] args) 

    {
        Scanner scan=new Scanner(System.in);
        int y=scan.nextInt();
        int cout=1;
        for(int i=2;i<y;i++)
        {
            if(i%2==0&&cout==1)
            {
                System.out.print(i);
                cout=0;
            }
            else if(i%2==0&&cout==0)
            {
                System.out.print(","+i);
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值