我需要找到用戶輸入數字字符串的所有奇數的總和。例如,如果輸入是12235,則總和將是1 + 3 + 5 = 9如何查找用戶輸入數字字符串的所有奇數的總和?
這是我的代碼看起來像到目前爲止:
import javax.swing.JOptionPane;
public class sumOfAllOddDigits
{
public static void main(String[]args)
{
int a;
int sum = 0;
String userinput;
userinput = JOptionPane.showInputDialog("Enter a number. " , null);
a = Integer.parseInt(userinput);
for (int i = 0; i <= a; i++)
{
if (i % 2 == 1)
{
sum += i;
}
}
System.out.println(sum);
}
}
總和始終打印大量,但我不知道如何讓它打印正確的數字。請幫忙。謝謝。
我想你不到這裏使用正確的邏輯。嘗試在編碼之前在紙張上寫入邏輯處理 –
'sum = userinput.chars()。map(c - > c-'0')。filter(d - > d%2 == 1).sum()' – aioobe
可能的重複http://stackoverflow.com/questions/3389264/how-to-get-the-separate-digits-of-an-int-number –