1.求质数
题目:取值1-100整数范围内求出质数,并且每输出五个质数为一行。
public static void main(String[] args) {
for (int i = 2 ; i <= 100; i++) {
//定义一个逻辑值flag,初始值为true
boolean flag = true;
//内层循环遍历除数j(注意:此处若不取边界,则当i=4时,j=2会因为小于i/2=2而直接跳出内循环)
for (int j = 2 ; j <= (i / 2); j++) {
//判断是否存在除数j能整除i,若存在,则修改flag的值并跳出循环
if (0 == i % j) {
flag = false;
break;
}
}
//定义第几次一次质数,初始值为0
int count = 0;
//根据flag的值判断是否输出i
if (flag) {
//每循环输出一次质数,count自增1
count ++;
//当count能被5整除时输出每行的第五个质数后再换行输出,不被5整除时则继续输出质数
System.out.print((count % 5 == 0) ? i + "\r\n" : i + "\t");
}
}
}
2.万年历
题目:在Java控制台打印出一个日历。
public static void main(String[] args) {
//创建Scanner类的实例,实施控制台键盘输入
Scanner sc = new Scanner(System.in);
//从键盘输入获得年,月份的值
System.out.println("请输入年份:");
int years = sc.nextInt();
System.out.println("请输入份:");
int month = sc.nextInt();
//输出日历的格式
System.out.println("日历"+"\r\n"+"一\t二\t三\t四\t五\t六\t日");
//给予days一个值
int days = 0;
//计算该月份里有多少天
if (month == 1 ||month == 3 ||month == 5 ||month == 7 ||month == 8 ||month == 10 ||month == 12) {
days = 31;
}else if (month == 2){
//判断该年份是否为闰年还是平年
if (years % 4 == 0 && years % 100 != 0 ||years % 400 == 0){
days = 29;
}else {
days = 28;
}
}else {
days = 30;
}
//打印日历
for (int i = 1; i <= days; i++) {
//每行输出7天
System.out.print( i +(i % 7 == 0 ? "\r\n" : "\t"));
}
}