Добрый день. Пожалуйста, объясните, что не так??? ТОЛЬКО НЕ РЕШЕНИЕ!!!
package com.javarush.task.task20.task2025;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
/*
Алгоритмы-числа
*/
public class Solution {
public static long[] getNumbers(long N) {
try(BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(System.in))) {
ArrayList<Character> belka=new ArrayList<>();
ArrayList<Long> belkaGT=new ArrayList<>();
ArrayList<Long> belkaBoss=new ArrayList<>();
String s="";
long S=0;
long enot=0;
long number=0;
int number2=0;
do { // начало цикл N > S
s = bufferedReader.readLine();
int pow = s.length();
S= Long.parseLong(s);
if (N<S) // начало иф N<S
{
Collections.sort(belkaBoss);
long[] result = new long[belkaBoss.size()];
for (int i = 0; i < belkaBoss.size(); i++) {
result[i]=belkaBoss.get(i);
}
return result;
} // конец иф N<S
for (int i = 0; i < s.trim().length(); i++) {
char a = s.charAt(i);
belka.add(i, a);
number = Long.parseLong(belka.get(i).toString());
belkaGT.add(i, (long) Math.pow(number, pow));
enot=enot+belkaGT.get(i);
}
belkaBoss.add(number2,enot);
number2++;
enot=0;
} while (N > S); // конец цикл N > S
}catch (Exception s)
{
}
return null;
}
public static void main(String[] args) {
long a = System.currentTimeMillis();
System.out.println(Arrays.toString(getNumbers(1000)));
long b = System.currentTimeMillis();
System.out.println("memory " + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) / (8 * 1024));
System.out.println("time = " + (b - a) / 1000);
a = System.currentTimeMillis();
System.out.println(Arrays.toString(getNumbers(1000000)));
b = System.currentTimeMillis();
System.out.println("memory " + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) / (8 * 1024));
System.out.println("time = " + (b - a) / 1000);
}
}