`
方XiRui
  • 浏览: 18831 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JAVA经典算法40题(3)

阅读更多

【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
1.程序分析:(a> b)?a:b这是条件运算符的基本例子。

import javax.swing.*;
public class ex5 {
    public static void main(String[] args){
        String str="";
        str=JOptionPane.showInputDialog("请输入N的值(输入exit退出):");
        int N = 0 ;
        try{      
            N=Integer.parseInt(str);
        catch(NumberFormatException e){
            e.printStackTrace();
        }
        str=(N>90?"A":(N>60?"B":"C"));
        System.out.println(str);
    }
}

 

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

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

public class CommonDivisor{
    public static void main(String args[]){
        commonDivisor(24,32);
    }
    static int commonDivisor(int M, int N){
        if(N<0||M<0) {
            System.out.println("ERROR!");
            return -1;
        }
        if(N==0){
            System.out.println("the biggest common divisor is :"+M);
            return M;
        }
        return commonDivisor(N,M%N);
    }
}

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

import java.util.Scanner;
public class CandC {
    //下面的方法是求出最大公约数
    public static int gcd(int m, int n){
        while (true){
            if ((m = m % n) == 0)
                return n;
            if ((n = n % m) == 0)
                return m;
        }
    }
    public static void main(String args[]) throws Exception{
        //取得输入值
        //Scanner chin = new Scanner(System.in);
        //int a = chin.nextInt(), b = chin.nextInt();
        int a=23;
        int b=32;
        int c = gcd(a, b);
        System.out.println("最小公倍数:" + a * b / c + "\n最大公约数:" + c);
    }
}

 

 

分享到:
评论
2 楼 西铁城 2013-02-20  
哥们,你的第二个程序有误,在判断是否为0时。
要是输入 45,0 时,给出的最大公约数是45.......
1 楼 西铁城 2013-02-20  
哥们,第一个程序的try缺个了括号。

并且在60分和90分的情形下有误吧?

程序只能执行一次,当有多个输入时怎么办?

import java.util.Scanner; 
public class Main { 
    public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    while(sc.hasNext()){
    int n = sc.nextInt();
    System.out.println(n>89?"A":(n>59?"B":"C"));
    }
    } 
}

相关推荐

Global site tag (gtag.js) - Google Analytics