【程序4】
题目:将一个正整数分解质因数。例如:输入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的值,重复执行第一步。
public class Prog4{
public static void main(String[] args){
int n = 13;
decompose(n);
}
private static void decompose(int n){
System.out.print(n+"=");
for(int i=2;i<n+1;i++){
while(n%i==0 && n!=i){
n/=i;
System.out.print(i+"*");
}
if(n==i){
System.out.println(i);
break;
}
}
}
}
【程序5】
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
程序分析:(a>b)?a:b这是条件运算符的基本例子。
public class Prog5{
public static void main(String[] args){
int n = -1;
try{
n = Integer.parseInt(args[0]);
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("请输入成绩");
return;
}
grade(n);
}
//成绩等级计算
private static void grade(int n){
if(n>100 || n<0)
System.out.println("输入无效");
else{
String str = (n>=90)?"分,属于A等":((n>60)?"分,属于B等":"分,属于C等");
System.out.println(n+str);
}
}
} |
|