Я пытаюсь напечатать каждую цифру целого числа, а затем сумму каждой цифры, как это. С петлями что-то не так, но я не могу понять это. Я хочу, чтобы это было так:Что случилось с моей петлей?
Please enter a number: 194
1 * 100 = 100
9 * 10 = 90
4 * 1 = 4
import java.util.Scanner;
public class PrintEachDigits {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("Enter the number: ");
int num = scan.nextInt();
String s = ""+num;
double d = 0;
for(int i = 0; i < s.length(); i++) {
for(int j = s.length()-1; j >= 0; j--) {
d = Math.pow(10,j);
System.out.println(s.charAt(i) + " * " + d
+ " = " + (s.charAt(i)*d));
}
}
}
}
Это выход моего кода:
Enter the number: 194
1 * 100.0 = 4900.0
1 * 10.0 = 490.0
1 * 1.0 = 49.0
9 * 100.0 = 5700.0
9 * 10.0 = 570.0
9 * 1.0 = 57.0
4 * 100.0 = 5200.0
4 * 10.0 = 520.0
4 * 1.0 = 52.0
Работа над вашими конвенциями код ... это легче читать ваш код. Если никто не может прочитать ваш код, никто не сможет помочь вам так быстро. –
Если вы пытаетесь * суммировать * каждую цифру, почему вы умножаете и используете 'Math.pow'? Если вы хотите суммировать цифры, затем конвертируйте каждый символ ASCII в число и добавьте их. – lurker
Вам не нужен второй цикл! Вместо этого добавьте вторую итерацию var. – Tobi