作业帮 > 综合 > 作业

关于java的2个题目,重谢.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/19 10:47:02
关于java的2个题目,重谢.
第一个要编一个程序要求输入数字的所以素数因子,要写成120 = 2^3 * 3^1 * 5^1这样的形式.主要怎么能输出成这个样子.
第二个是要画一个图,如下所示,这个该怎么做. 就这两个,最好能有一些解释非常感谢.

第一个题:
package net;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner;
public class Prime {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("请输入一个数:");
Prime p = new Prime();
p.getPrime(in.nextInt());
int c = 1;
HashMap hashMap = new HashMap();
List l = new ArrayList();
for(int i = 1;i < p.map.size();i++){
int mapp = p.map.get(i);
int mapn = p.map.get(i+1);
if(mapp == mapn){
c++;
}else{
l.add(mapp);
hashMap.put(mapp,c);
c = 1;
}
}
hashMap.put(p.map.get(p.map.size()),c);
for(int i = 0;i < hashMap.size()-1;i++){
System.out.print(l.get(i)+"^"+hashMap.get(l.get(i))+"*");
}
System.out.println(p.map.get(p.map.size())+"^"+hashMap.get(p.map.get(p.map.size())));
}
private int count = 0;
private HashMap map = new HashMap();
private int getPrime(int n){
count++;
int r = n;
for(int i = 2;i