每日一练07.15|Java笔试面试题

-回复 -浏览
楼主 2021-06-09 14:11:24
举报 只看此人 收藏本贴 楼主
锋宇Java培训 小班教学项目实战



Java基础每日一练程序题


1、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13,34/21...求出这个数列前20项之和。


分析:分子和分母的变化规律,您发现了吗?


2、随机输入一个不多于5位的正整数,求它是几位数?逆序输出出各位数字。

分析:学会分解每一位数。


每日一练的答案会在第二天揭晓

关注公众号

随时随地学编程

下一个大师就是您!


>>>>

每日一练07.14题目及答案


1、求100之内的质数。


提示:质数又称素数。一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数;否则称为合数。根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。


答:

public class secWork {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("100以内素数有:");
for(int i = 0;i < 100;i++) {
boolean a = sushu(i);
if(a == true) System.out.print(i+" ");
}
}
static boolean sushu(int in){
boolean out = true;
for(int i = 2;i < in;i++) {
if(in % i == 0) out = false;
}
return out;
}
}


2、输入某年某月某日,判断这一天是这一年的第几天?


提示:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。闰年的条件是:年份能被400整除或能被4整除但不能被100整除。


答:

public class firstWork {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner a = new Scanner(System.in);
System.out.print("请输入年:");
int year = a.nextInt();
if(year <=0 ){
System.out.print("不存在这样的年,请重新输入:");
year = a.nextInt();
}
System.out.print("月:");
int month = a.nextInt();
if(month <=0 || month >= 13){
System.out.print("不存在这样的月,请重新输入:");
month = a.nextInt();
}
System.out.print("日:");
int day = a.nextInt();
if(day <=0 || day >= 32){
System.out.print("不存在这样的日,请重新输入:");
day = a.nextInt();
}
int out = cal(year,month,day);
System.out.print("这是"+year+"年第"+out+"天");
}
static int cal(int year,int month,int day){
int out = 0;
boolean leap = false;
if(year%400 == 0 || (year%4 == 0 && year%100 != 0)) leap = true;
for(int i = 1;i < month;i++){
if(i == 1){ out = 31;continue;}
if(i == 2){
if(leap == true)
out+=29;
else
out+=28;
continue;
}
if(i == 3){out += 31;continue;}
if(i == 4){out += 30;continue;}
if(i == 5){out += 31;continue;}
if(i == 6){out += 30;continue;}
if(i == 7){out += 31;continue;}
if(i == 8){out += 31;continue;}
if(i == 9){out += 30;continue;}
if(i == 10){out += 31;continue;}
if(i == 11){out += 30;continue;}
if(i == 12){out += 31;continue;}
}
out = out + day;
return out;
}
}

锋宇Java培训班火热招生中...

免费试听(每周二、三、五)

电话:0551-63823491

QQ:1280396062

微信:zhenzhen_0724

地址:安徽省合肥市高新区科学大道103号浙商创业大厦A座11楼



我要推荐
转发到