刷题学习Java——循环语句
Posted 这个昵称我想了20分钟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刷题学习Java——循环语句相关的知识,希望对你有一定的参考价值。
🎉个人主页:这个昵称我想了20分钟
✨往期专栏:【速成之路】jQuery
【速成之路】Ajax
【速成之路】SQL server
🎖️系列专栏:【初学者】刷题学习Java
🔥推荐一款模拟面试,刷题神器👉点击跳转到网站
❤️欢迎各位小伙伴们!强烈推荐一款刷题神器👉点击跳转到网站
🔥这是一款专注于程序员的学习和成长的专业平台,有许多专业的IT面试题库,精选了多家知名企业的面试题,全方位提升你的IT技能,轻松面对各大企业面试。
文章目录
数列求和
public class Main
public static void main(String[] args)
//write your code here........
long sum = 0;
for(int i = 1;i <= 10; i++)
sum+=(Math.pow(10,i))-1;
System.out.println(sum);
注:使用 函数Math.pow(a,b),即计算a的b次方。注意long的取值范围为:-9223372036854775808~9223372036854775807
统计输入正数个数
import java.util.*;
public class Main
public static void main(String[] args)
int count = 0;
Scanner scanner = new Scanner(System.in);
//write your code here......
while(true)
if((scanner.nextInt())<=0)
break;
count++;
System.out.println(count);
求最小公倍数
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)
//write your code here......
//计算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 0;
小球走过路程计算
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();
//write your code here......
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;
解题思路:我们遍历落地次数,第一次走过了落下高度这么多距离,然后弹起高度降低一半,然后走了弹起的高度这么多距离,完成一次循环,如果n个循环,累加距离,不断降低高度。需要注意最后一次落地后虽然要计算弹起的高度,我们还要输出它,但是我们走过的距离已经没有它的,我们此时已经是落地n次了,第n次落地相当于第n-1次弹起 。
求平均数
import java.util.Scanner;
public class Main
public static void main(String[] args)
Scanner scan = new Scanner(System.in);
//write your code here......
int cnt = 0;
double avg = 0;
int sum = 0;
while(true)
int num = scan.nextInt();
if(num < 0)
break;
sum += num;
cnt++;
avg = (double)sum / cnt;
System.out.println(String.format("%.2f",avg));
//输出格式为:System.out.println(String.format("%.2f",avg));
解题思路:定义一个计数变量cnt和一个累加和变量sum,分别用于记录整数个数,以及它们的累加和。
使用一个循环进行模拟输入,如果是负数,则终止循环。每轮循环,计数加一,并且累加和加上对应数字,最后将累加和与计数的商作为平均数输出。
判断质数
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......
for(int i = 2;i < number;i ++)
if(number % i == 0)
return false;
return true;
计算整数位数
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......
int cnt = 0;
while(num > 0)
cnt++;
num /= 10;
System.out.println(cnt);
if(num < 0)
System.out.println(num);
解题思路:定义一个位数变量,记录对应位数变化。
使用一个while循环,只要num大于0,则位数加一,同时num除10,表示消耗掉最低位。
结尾
Java的学习必须是有条理、有逻辑的由浅入深。学习Java,一定要理论+实践,对于刚入门的小白来说,练习是必不可少的,想要继续提升能力,都可以去牛客(🔥👉点击直接进入练习)刷题练习。而且可以看到别人的解题思路和解题方法,对自己有非常棒的提升赶紧学习起来吧!❤️
以上是关于刷题学习Java——循环语句的主要内容,如果未能解决你的问题,请参考以下文章
Python刷题篇——Python入门 07 循环语句(下)