这个问题的关键是要打开一个对话框,让它以yyyy格式询问你的姓名和出生日期;然后给你你的出生日期数字的总和。例如,如果您出生于1999年,该程序将输出“X:您出生日期的数字总和为28”。
这是我目前的代码。我只是计算了数字的总和。
import javax.swing.JOptionPane;
import java.util.Scanner;
public class Age {
public static void main(String[] args) {
String name;
String inputString;
int age;
name = JOptionPane.showInputDialog("What is " + "your name");
inputString = JOptionPane.showInputDialog("Enter the year " + "of your birth in yyyy format");
//this is where the calculations will go//
JOptionPane.showMessageDialog(null, "Hello " + name + " your age is" + inputString);
System.exit(0);
}
}
答案 0 :(得分:1)
您应该检查年份中的每个字符并将其整数表示相加,如下所示:
int sum = 0;
for(int i = 0; i < inputString.length(); i++){
sum += Integer.parseInt(""+inputString.charAt(i));
}
System.out.println(sum);
答案 1 :(得分:1)
使用Java 8获得此功能的另一种方法是:
inputString.chars() // get a stream of int with the char code point values
.mapToObj(c -> (char) c) // convert each element to its char representation
.mapToInt(Character::getNumericValue) // convert each char to int
.sum(); // sum all elements in the stream
我还建议验证输入以避免异常。您可以使用正则表达式:
if(inputString.matches("\\d{4}")){
// do your sum
}else{
// warn the user
}