1.输出打印一个九九乘法表
代码如下,很简单的一个for的嵌套循环即可实现
1 /**
2 * 输出9*9口诀。
3 *
4 * @author ChenZX
5 *
6 */
7 public class Test01 {
8
9 public static void main(String[] args) {
10 for(int i=1;i<10;i++){
11 for(int j=1;j<=i;j++){
12 System.out.print(j+"*"+i+"="+(i*j)+"\t");
13 }
14 System.out.println();
15 }
16 }
17 }
2.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
1)如果这个质数恰等于n,就说明分解质因数的过程已经结束,打印出即可。
2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步(递归实现)。
3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步(递归实现)。
详细代码如下:
1 public class Test02 {
2
3 public static void main(String[] args) {
4 Scanner s = new Scanner(System.in);
5 System.out.println("请输入要分解质因数的正整数:");
6 int num = s.nextInt(); //键盘输入正整数num
7 s.close(); //关闭输入(不需要输入的时候记得关闭输入)
8 factor(num,2); //调用分解质因数方法
9 }
10
11 /**
12 * 分解质因数
13 * @param n 要分解的正整数
14 * @param k 除数(最小的质数)
15 */
16 public static void factor(int n,int k){
17 if(n==k){ //若最小的质数正好等于正整数n(说明分解完成了)
18 System.out.print(k); //则打印k值
19 return; //结束方法 返回值类型为void的方法可调用return直接结束方法
20 }
21 if(n%k==0){ //若n能被k整除
22 System.out.print(k+"*"); //打印出k和乘号
23 n= n/k; //将商作为新的n值
24 factor(n,2); //重新开始第一步
25 }else{ //若n不能被k整除
26 k= k+1; //将k+1作为新的k值
27 factor(n,k); //重新开始第一步
28 }
29
30 }
31 }