1 .编写求ij*ji=1300的i,j中最小值的程序,并输出此时的i,j.(i j是1位的整数)
 
2.设计一个求对最大公约数和最小公倍数的类ClassNum,该类中应该包含最大公约数gcd(a,b)和最小公倍数lcm(a,b)的两个方法.要求:在主方法中任意输入两个数a,b,显示它们的最大公约数和最小公倍数.
 
3.将上述第而题用AWT设计,并用GUI形式输出其中的一个(或多个结果).具体要求:
  (1)良好的用户界面;(2)合理的布局;(3)利用TextField或者TextArea实现数据的输入和输出;
  (4)利用Label实现信息的提示;(5)利用内部类实现窗口退出的功能。
 
注:(int)(Math.random()*100)+1 可以随机生成1到100的随机数。

解决方案 »

  1.   


    1.
    public static void main(String[] args) {
    for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
    int num1 = i * 10 + j;
    int num2 = j * 10 + i;
    if (num1*num2 == 1300) {
    System.out.println("i:" + i + ";j:" + j);
    }
    }
    }
    }
    我不太懂你的题意,我这个结果是求出了能得出1300的i和j的值,你最后要的是i的最小值还只j的最小值
      

  2.   


    public class GongyueGongbei {
    //最大公约数
    public static int commonDivisor(int x, int y){
    int max = Math.max(x, y);
    int temp = 1;
    int result = 0;
    while(temp<=max){
    if(x%temp==0 && y%temp==0){
    result = temp;
    }
    temp++;
    } return result;
    }
    //最小公倍数
    public static int commonMultiple(int x,int y){
    int amass = x*y;
    int min = Math.min(x,y);
    int temp = amass;
    int result=1;
        while(temp>=min && temp<=amass){    
         if(temp%x==0 && temp%y==0){
         result = temp;
         }  
         temp--;
        }
        return result;
     }

    public static void main(String[] args) {
    System.out.println(commonDivisor(3,9));
    System.out.println(commonMultiple(3,9));
    }}
      

  3.   

    第一题可以这样:public static void main(String[] args) {
            ok:
            for(int i = 0;i<=9;i++){
                for(int j = 0;j<=9;j++){
                    int num = (i * 10 + j)*(j * 10 + i);
                    if(num == 1300){
                        System.out.println("i为:" + i);
                        System.out.println("j为:" + j);
                        break ok;
                    }
                }
            }
    }这样找出第一个,就是最小的值了。
      

  4.   

    for(int i=1;i<10;i++){
    for(int j=1;j<10;j++){
    if((10*i+j)*(10*j+i)==1300){
    System.out.println("i="+i+",j="+j);
    }
    }
    }
      

  5.   

    第二题:public class myclass
    {
    public static void main(String[] args)
    {
    System.out.println(ClassNum.lcm(3,4));
    System.out.println(ClassNum.gcd(2,4));
    }
    }
    class ClassNum
    { public static int lcm(int a, int b)
    {
    int i;
    for (i = a; ; i++)
    {
    if (i % a == 0 && i % b == 0)
    return i;
    }

    }
    public static int gcd(int a, int b)
    {
    int i = a > b ? a : b;
    for (i = i ; i > 1; i--)
    {
    if (a % i == 0 && b % i == 0)
    return i;
    }
    return 1;
    }
    }