很多朋友都问我学完基础知识以后怎样提高编程水平?当然是刷题啦!很多小伙伴都在纠结从哪里开始,今天给大家推荐一个身边朋友都在使用的刷题网站:点击进入牛客网刷题吧! 各大互联网大厂面试真题,成体系的分类题库,从入门到进阶,分类练习哦!
文章目录
- 前言
- 第一题:求最小公倍数
-
- 题目描述
- 示例
- 题解
- 第二题:小球走过路程计算
-
- 题目描述
- 示例
- 题解
- 第三题:求平均数
-
- 题目描述
- 示例
- 题解
- 第四题:判断质数
-
- 题目描述
- 示例
- 题解
- 第五题:计算整数位数
-
- 题目描述
- 示例
- 题解
前言
Java基础学习主要以练习为主,很多朋友听完视频课程学会基础以后感觉对练手项目无从下手,这里推荐去牛客网看看,这里的IT题库内容很丰富,属于国内做的很好的IT学习网站,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!第一题:求最小公倍数 题目描述 编写一个方法,该方法的返回值是两个不大于100的正整数的最小公倍数
文章图片
从基础开始练习,知识点编排详细,题目安排合理,题目表述以指导的形式进行。整个题单覆盖了java入门的全部知识点以及全部语法,通过知识点分类逐层递进,从基础开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。
文章图片
牛客网还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。快来点击链接开始刷题吧:牛客网刷题进阶!
输入描述:
两个int类型变量作为方法的参数
输出描述:
int类型的变量,值为两个数的最小公倍数
示例
输入:3 7题解 【牛客网|【Java刷题进阶】基础入门篇③】具体方法如下:
输出:21
import java.util.*;
public class Main {
public static void main(String[] args) {
//标准输入
Scanner console = new Scanner(System.in);
int m = console.nextInt();
int n = console.nextInt();
//计算最小公倍数
int result = getCM(m, n);
//输出结果
System.out.println(result);
}
//计算最小公倍数
public static int getCM(int m, int n){
//计算m、n中较大者
int max=Math.max(m,n);
//从max到m*n之间找最小公倍数
for(int i=max;
i<=m*n;
i++){
//如果既能被m整除又能被n整除,说明是最小公倍数,直接返回
if(i%m==0&&i%n==0){
return i;
}
}
return -1;
}}
第二题:小球走过路程计算 题目描述 一球从h米高度自由落下,每次落地后反弹回原高度的一半再落下,求它在第n次落地时共经过了多少米?第n次反弹多高?
输入描述:
输入小球的初始高度和落地的次数(先输入小球初始高度再输入反弹次数)
输出描述:
输出小球反弹的高度和经过的距离(先输出反弹的高度再输出经过的距离,中间用空格隔开)
示例
输入:100 3题解 最后一次下落时不计算弹起来的距离,所以只计算n-1次弹起,具体方法如下:
输出:12.500 250.000
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
// 下落的高度和落地的次数
float h=scanner.nextFloat();
int n =scanner.nextInt();
float dis = 0;
for(int i = 0;
i < n;
i++){
dis += h;
//每次加上落下来的距离
h /= 2;
//弹起距离缩短一半
if(i == n - 1){
System.out.println(String.format("%.3f", h)+" "+String.format("%.3f", dis));
}
dis += h;
//弹上去走的距离
}
}
}
第三题:求平均数 题目描述 键盘输入任意多个10000以内正整数(负数代表结束),求出它们的平均数
输入描述:
任意多个正整数
输出描述:
它们的平均数(平均数为double类型,保留两位小数)
示例
输入:12 23 32 43 -1题解 使用为了循环实现,具体方法如下:
输出:27.50
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//标准输入
Scanner scan = new Scanner(System.in);
//计数
int cnt=0;
//记录平均数
double avg=0;
//记录累加和
double sum=0;
while(scan.hasNext()){
int num=scan.nextInt();
//如果小于0,直接终止循环
if(num<0){
break;
}
//累加和加上对应num
sum+=num;
//计数加一
cnt++;
}
//计算平均数
avg=sum/cnt;
System.out.println(String.format("%.2f",avg));
}
}
第四题:判断质数 题目描述 请补全预设代码中判断质数的方法。
输入描述:
一个大于1的整数
输出描述:
true/false
示例
输入:2题解 重点在于掌握判断质数的方法,具体实现如下:
输出:true
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Main main = new Main();
Scanner scan = new Scanner(System.in);
int number = scan.nextInt();
System.out.println(main.isPrimeNumber(number));
}
public Boolean isPrimeNumber(int number) {
//write your code here......
//满足以下条件不是质数(1+2)或(3)
//1 非2的偶数
//2 奇数(除1和本身)有其他奇数因子
//3 2到开根号之间有因子
if(number!=2 && number%2==0)return false;
for(int i=3;
i
第五题:计算整数位数 题目描述 输入一个整数,计算它的位数。如果输入的整数不大于0则输出这个数
输入描述:
一个整数
输出描述:
整数的位数
示例
输入:9999
输出:4
输入:-1题解 具体实现方法如下:
输出:-1
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
scan.close();
//write code here......
if(num<=0){
System.out.print(num);
}else{
for(int i =1;
i<11;
i++){//int最多10位
if((num/=10)==0){
System.out.print(i);
break;
}
}
}
}
}
推荐阅读
- 牛客网|【Java刷题进阶】基础入门篇④
- spingboot|ssm+vue+elementUI 医院门诊互联电子病历管理信息系统-#毕业设计
- spingboot|java计算机毕业设计基于springboot+vue+elementUI的口腔管理平台管理系统(前后端分离)
- spingboot|springboot+vue+elementUI 会员制医疗预约服务管理信息系统-#毕业设计
- java|Hessian 序列化、反序列化
- java|幸福里 C 端 iOS 编译优化实践-优化 40% 耗时
- js|chrome 插件开发指南
- 大数据|抖音 Android 性能优化系列(Java 锁优化)
- 设计模式|深入浅出依赖注入及其在抖音直播中的应用