вот мое решение для поиска цифрового корня числа. не просто в целях завершения, цифровой корень:Чистое решение для цифрового корня
"Если взять цифры любого числа и добавить их вместе, а затем добавить цифры получившегося числа вместе, и продолжать делать , что до вас получить одну цифру, эта цифра - это цифровой корень исходного номера ».
На что я надеялся, это если вы, ребята, можете взглянуть и предоставить более чистое решение. Я пытаюсь улучшить себя для предстоящего соревнования.
import java.util.Scanner;
import java.util.StringTokenizer;
public class DigialRoot {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a number: ");
System.out.println();
String str = sc.nextLine();
String[] numbers = str.split("");
int[] myList = new int[numbers.length];
for(int i=0; i < numbers.length; i++){
myList[i] = Integer.parseInt(numbers[i]);
}
//add all numbers together
int sum = 0;
for(Integer x : myList){
sum += x;
}
//break down and add sum
String sumStr = Integer.toString(sum);
String[] nums = sumStr.split("");
int[] nxtList = new int[nums.length];
for(int i=0; i < nums.length; i++){
nxtList[i] = Integer.parseInt(nums[i]);
}
//calculating final result of digital root
int result = 0;
for(Integer x : nxtList){
result += x;
}
System.out.println("Original number: " + str);
System.out.println("Digital root: " + result);
}
}
выход существо .. Введите номер: Оригинальный номер: 2424 Цифровой корень: 3 – user3646508
Это, вероятно, будет на codereview.stackexchange, так как вы спрашиваете для общих советов, а не для решения конкретной проблемы. – Sbodd
должным образом отмечен Sbodd – user3646508