实验5 三种输入方法
一、实验目的
1. 掌握三种输入数据的方法。
2. 结合人机交互进一步加强基本语句的使用训练。
二、实验内容
1. 从键盘上输入两个整数,并求这两个整数的最大公约数。(分别用三种输入方法实现)
2. 请完成以下两种功能:a.输入一个年号,判断是否是闰年。
b.输出从1900年到2018年所有闰年的年号,每四个年号换一行。
package cn.test_1;
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class MyTest {
public static void main(String[] args){
String s=null;
String s1=null;
Scanner sc=new Scanner(System.in);
BufferedReader ss=new BufferedReader(new InputStreamReader(System.in));
int c=sc.nextInt();
switch(c){
case 1:{
System.out.println("求最大公约数:");
System.out.println("方式一(直接数值输入):");
int n=0,m=0;
n=sc.nextInt();
m=sc.nextInt();
System.out.println(myGcd(n,m));
System.out.println("方式二(直接数值输入):");
try{
s=ss.readLine();
s1=ss.readLine();
}catch (IOException e){
System.out.println("数据输入有误");
}finally{
System.out.println("无论如何都要执行!");
}
int a=Integer.parseInt(s);
int b=Integer.parseInt(s1);
System.out.println(myGcd(a,b));
System.out.println("方式三(从cmd输入):");
/*
int a1=Integer.parseInt(args[0]);
int b1=Integer.parseInt(args[1]);
System.out.println(a1,b1);
System.out.println(myGcd(a1,b1));
*/
}break;
case 2:{
int a;
a=sc.nextInt();
if(myJudge(a)){
System.out.println(a+"是闰年!");
}
int cnt=0;
for(int i=1919;i<=2018;i++){
if(myJudge(i)){
System.out.print(i+" ");
}
if((cnt++)%5==0){
System.out.println("");
}
}
}break;
default:{
System.out.println("输入不合要求");
}break;
}
}
public static int myGcd(int n,int m){
return n%m==0?m:myGcd(m,n%m);
}
public static boolean myJudge(int y){
if((y%400==0)||(y%100!=0&&y%4==0)){
return true;
}
return false;
}
}