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); }}
页:
[1]