目录
前引:
打卡!打卡!今天已学习!你们呢?
我呢不喜欢太多的废话,直接进入主题,毕竟自己也亲身经历过,有时候做不出来,就只想快点解决问题,直接看关键的地方,我喜欢把运行结果放在前面,因为可以先看看运行结果是否是自己想要的,是才继续看代码,看过程,结果不是自己想要的,何必浪费时间看下去。
1、分解质因数:
(1)题目:
将一个正整数分解质因数。列如:输入90,打印90=2*3*3*5。
(2)运行结果:
(3)代码:
a、关键处解析:
while(input>=n) //退出循环的条件是input < n { if(input%n==0) //如果能除尽 { if(input==n){ System.out.print(n); //当相等时,n已经是最后一个数了,不需要打印* } else{ System.out.print(n+"*"); //不是最后一个数,则需要打印 n* } input/=n; //将input的值变小,否则是死循环 }else{ n++; //如果除不尽,n进行自加,直到n>input为止 } }
b、完整代码:
import java.util.Scanner; public class exercise05 { public static void main(String[] args) { Scanner si = new Scanner(System.in); System.out.print("请输入一个整数:"); int input = si.nextInt(); int n=2; System.out.print(input+"="); while(input>=n) { if(input%n==0) { if(input==n){ System.out.print(n); } else{ System.out.print(n+"*"); } input/=n; }else{ n++; } } } }
2、分数等级:
(1)题目:
键盘输入一个成绩,如果分数大于90为A等级,80-90为B等级,60-80为C等级,60以下为D等级。
(2)代码:
由于这题特别简单,所以直接上代码。
完整代码:
import java.util.Scanner; public class exercise06 { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print("请输入你的成绩:"); int score = s.nextInt(); if(score<101 && score>=90) { System.out.println("A等级"); }else if(score>=80) { System.out.println("B等级"); }else if(score>=60) { System.out.println("C等级"); }else{ System.out.println("D等级"); } } }