小球走过路程计算
描述
一球从h米高度自由落下,每次落地后反弹回原高度的一半再落下,求它在第n次落地时共经过了多少米?第n次反弹多高?
输入描述:
输入小球的初始高度和落地的次数(先输入小球初始高度再输入反弹次数)
输出描述:
输出小球反弹的高度和经过的距离(先输出反弹的高度再输出经过的距离,中间用空格隔开)
题解:
1. import java.util.Scanner; 2. 3. public class Main { 4. public static void main(String[] args) { 5. Scanner scanner=new Scanner(System.in); 6. // 下落的高度和落地的次数 7. float h=scanner.nextFloat(); 8. int n =scanner.nextInt(); 9. float dis = 0; 10. for(int i = 0; i < n; i++){ 11. dis += h; //每次加上落下来的距离 12. h /= 2; //弹起距离缩短一半 13. if(i == n - 1){ 14. System.out.println(String.format("%.3f", h)+" "+String.format("%.3f", dis)); 15. } 16. dis += h; //弹上去走的距离 17. } 18. } 19. }
求平均数
描述
键盘输入任意多个10000以内正整数(负数代表结束),求出它们的平均数,
输入描述:
任意多个正整数
输出描述:
它们的平均数(平均数为double类型,保留两位小数)
题解:
1. import java.util.Scanner; 2. 3. public class Main { 4. 5. public static void main(String[] args) { 6. Scanner scan = new Scanner(System.in); 7. int count=0;//记录有几个数 8. double sum=0.0;//和 9. double avg=0.0;//平均数 10. //多组输入 11. while(scan.hasNext()){ 12. int num=scan.nextInt(); 13. if(num<0){ 14. break; 15. } 16. count++; 17. 18. sum+=num; 19. 20. } 21. 22. avg=sum/count; 23. System.out.println(String.format("%.2f",avg)); 24. 25. 26. } 27. }
判断质数
描述
请补全预设代码中判断质数的方法。
输入描述:
一个大于1的整数
输出描述:
true/false
题解:
方法一:
从1~number之间利用循环进行取模,发现模为0的就不是质数,直接return false,循环完也没有return的是质数,直接return true。
1. import java.util.Scanner; 2. 3. public class Main { 4. public static void main(String[] args) { 5. Main main = new Main(); 6. Scanner scan = new Scanner(System.in); 7. int number = scan.nextInt(); 8. System.out.println(main.isPrimeNumber(number)); 9. } 10. 11. public Boolean isPrimeNumber(int number) { 12. 13. for(int i=2;i<number;i++){ 14. if(number%i==0){ 15. return false; 16. } 17. } 18. return true; 19. } 20. }
方法二:
从1~number之间进行开方,利用循环进行取模,发现模为0的就不是质数,直接return false,循环完也没有return的是质数,直接return true。
1. import java.util.Scanner; 2. 3. public class Main { 4. public static void main(String[] args) { 5. Main main = new Main(); 6. Scanner scan = new Scanner(System.in); 7. int number = scan.nextInt(); 8. System.out.println(main.isPrimeNumber(number)); 9. } 10. 11. public Boolean isPrimeNumber(int number) { 12. 13. for(int i=2;i<=Math.sqrt(number);i++){ 14. if(number%i==0){ 15. return false; 16. } 17. } 18. return true; 19. } 20. }
计算整数位数
描述
输入一个整数,计算它的位数。如果输入的整数不大于0则输出这个数
输入描述:
一个整数
输出描述:
整数的位数
题解:
1. import java.util.Scanner; 2. 3. public class Main { 4. public static void main(String[] args) { 5. Scanner scan = new Scanner(System.in); 6. int num = scan.nextInt(); 7. scan.close(); 8. int count=0;//记录位数 9. if(num<=0) 10. System.out.println(num); 11. while(num>0){ 12. num/=10; 13. count++; 14. } 15. System.out.println(count); 16. 17. } 18. }