【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序分析:(a> b)?a:b这是条件运算符的基本例子。

 

Java代码
  1. import javax.swing.*;
  2. public class ex5 {
  3. public static void main(String[] args){
  4. String str="";
  5. str=JOptionPane.showInputDialog("请输入N的值(输入exit退出):");
  6. int N = 0 ;
  7. try{
  8. N=Integer.parseInt(str);
  9. catch(NumberFormatException e){
  10. e.printStackTrace();
  11. }
  12. str=(N>90?"A":(N>60?"B":"C"));
  13. System.out.println(str);
  14. }
  15. }

 

【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

1.程序分析:利用辗除法。
最大公约数:

 

Java代码
  1. public class CommonDivisor{
  2. public static void main(String args[]){
  3. commonDivisor(24,32);
  4. }
  5. static int commonDivisor(int M, int N){
  6. if(N<0||M<0) {
  7. System.out.println("ERROR!");
  8. return -1;
  9. }
  10. if(N==0){
  11. System.out.println("the biggest common divisor is :"+M);
  12. return M;
  13. }
  14. return commonDivisor(N,M%N);
  15. }
  16. }

2.最小公倍数和最大公约数:

 

Java代码
  1. import java.util.Scanner;
  2. public class CandC {
  3. //下面的方法是求出最大公约数
  4. public static int gcd(int m, int n){
  5. while (true){
  6. if ((m = m % n) == 0)
  7. return n;
  8. if ((n = n % m) == 0)
  9. return m;
  10. }
  11. }
  12. public static void main(String args[]) throws Exception{
  13. //取得输入值
  14. //Scanner chin = new Scanner(System.in);
  15. //int a = chin.nextInt(), b = chin.nextInt();
  16. int a=23;
  17. int b=32;
  18. int c = gcd(a, b);
  19. System.out.println("最小公倍数:" + a * b / c + "\n最大公约数:" + c);
  20. }
  21. }