问题遇到的现象和发生背景
OJ答题:
题目:
Description
从键盘读入一组正整数,分别对每个数进行质因数分解。
Input
从键盘输入一组大于1的正整数。
Output
每个正整数的质因数分解乘积形式。
Sample Input
3 12 30 21
Sample Output
3=3
12=223
30=235
21=3*7
在本地运行成功,在OJ上显示Runtime Error
问题相关代码,请勿粘贴截图
package layer_one.layer_two.layer_three;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
String str=in.nextLine();
String[] str1=str.split(" ");
int a[]=new int[str1.length];
int len=str1.length;
for(int i=0;i<len;i++){
a[i]=Integer.parseInt(str1[i]);
}
for(int i=0;i<len;i++){
calculate c1=new calculate();
if(a[i]==1){
System.out.printf("1=1\n");
}
else{
c1.out(a[i]);
}
}
in.close();
}
}
class calculate{
public void out(int N){
String out="";
int N1=N;
int i=0;
for(i=2;i<=N;i++){
if(N%i==0){
if(i==N){
out+=N;
}
else{
out+=i+"*";
}
N/=i;
i=2;
i--;
}
}
System.out.printf("%d=%s\n",N1,out);
}
}
运行结果及报错内容
运行结果出现runtime Error
我的解答思路和尝试过的方法
根据提示并未找到Runtime Error的原因
我想要达到的结果
程序在OJ上accpted并找到Runtime Error的原因