从键盘输入n个整数,求它们的最小公倍数

本文介绍了一个Java程序,用于求解用户输入的任意数量整数的最小公倍数。程序首先提示用户输入要处理的整数数量,然后依次输入具体的整数。通过循环判断找到能够被所有输入整数整除的最小数即为最小公倍数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:从键盘输入n个整数,求它们的最小公倍数。

例如输入4,再输入2,4,6,8四个数求最小公倍数。

思路:从键盘输入4,将输入的字符串4转成int,再输入2,4,6,8,将输入的字符串用","分割开来,装入一个字符串数组,

   如果数组的长度不等于之前得到的int,抛异常给Exception e,创建一个字符串数组,长度为4, 把字符串数组

   里的元素装到int数组里,做一个for循环,拿i分别除数组里的每一个数,如果i能整除数组里的每一个数,i就是最

   小公倍数。

代码如下:

package zuoye;

import java.util.Arrays;
import java.util.Scanner;

//2017.03.16 by 小方

public class X0316 {
    public static void main(String[] args) {
        while(true){
            Scanner scan=new Scanner(System.in);
            System.out.println("您想输入几位数:");
            String s3=scan.nextLine().trim();
        
            if(s3.equals("exid")) break;
            int a3=Integer.parseInt(s3);
            
            try{
                System.out.println("请输入几位整数:");
                String s=scan.nextLine().trim();
        
                if(s.equals("exid")) break;
                String [] s1=s.split(",");
                
                if(s1.length!=a3)throw new Exception() ;
                   int [] a=new int[s1.length];
                   for(int j=0;j<s1.length;j++){
                    a[j]=Integer.parseInt(s1[j]);
                   }
                   
                   int result = 0;
                    for (int i = 1; i < Integer.MAX_VALUE; i++) {
                        int n = a.length;
                        while(n > 0) {
                            int count = 0;
                        
                            for(int x : a){
                                if(i%x!=0){
                                    break;
                                }else{
                                    count ++;
                                }
                            }
                            if(count==a.length){
                                result = i;
                                break;
                            }
                            n --;
                        }
                        if(result > 0){
                            System.out.println(Arrays.toString(a)+"的最小公倍数为:"+result);
                            break;
                        }
                    }  
            }
            catch(Exception e){
                System.out.println("输入无效");
            }
            
        }
    }
}

运行结果如下:

转载于:https://www.cnblogs.com/xr0724/p/6561643.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值