大家好,今天小编关注到一个比较有意思的话题,就是关于j***a语言三个整数排序的问题,于是小编就整理了1个相关介绍j***a语言三个整数排序的解答,让我们一起看看吧。
用j***a编写一个程序,提示用户输入一个正整数,然后以降序显示其最小的因子?
package com.leejiliang.HomeworkDemo2;
import j***a.util.ArrayList;
import j***a.util.List;
import j***a.util.Scanner;
public class MinimalElements {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个整数:");
int inner = input.nextInt();
Stack stack = getElements(inner);
System.out.println(inner + "的所有最小银子为:" + stack);
}
/*
* 此方法摘抄自网上
*/
public static Stack getElements(int val) {
Stack stack = new Stack();
int i;
for (i = 2; i <= val;)// 注意是小于等于
{
if (val % i == 0) {
stack.getList().add(i);
val /= i;// 记得每次进行除i
} else
i++;// 因为求的是最小因子,所以只有在i小的时候不能除尽,才进行i加一的操作,
}
return stack;
}
}
class Stack {
List<Integer> list = new ArrayList<Integer>();
public List<Integer> getList() {
return list;
}
public void setList(List<Integer> list) {
this.list = list;
}
@Override
public String toString() {
String s = "{";
for (Integer i : list) {
s += i + ",";
}
return s.substring(0, s.length() - 1) + "}";
}
}
到此,以上就是小编对于j***a语言三个整数排序的问题就介绍到这了,希望介绍关于j***a语言三个整数排序的1点解答对大家有用。