Java 如何使用布尔值添加用户输入的数字?
我正在为学校作业编写这个程序,它要求用户输入一系列字母和数字,并确定它是否是数字 我的老师要我把数字(数字)的字符加起来,输出为“你的数字加起来是:把加起来的数字放在这里” 输出的字母是一个字符串,上面写着“这是你的字母:*在这里放置字母。” 我想我的代码是正确的,它决定了它是否是一个数字,但我如何将它们相加呢?我尝试使用if语句来检查Character.isDigit是否为真,但我不断出错,我认为我写的完全是错的。如有任何答复,将不胜感激 这是我的密码:Java 如何使用布尔值添加用户输入的数字?,java,boolean,Java,Boolean,我正在为学校作业编写这个程序,它要求用户输入一系列字母和数字,并确定它是否是数字 我的老师要我把数字(数字)的字符加起来,输出为“你的数字加起来是:把加起来的数字放在这里” 输出的字母是一个字符串,上面写着“这是你的字母:*在这里放置字母。” 我想我的代码是正确的,它决定了它是否是一个数字,但我如何将它们相加呢?我尝试使用if语句来检查Character.isDigit是否为真,但我不断出错,我认为我写的完全是错的。如有任何答复,将不胜感激 这是我的密码: import java.util.*;
import java.util.*;
import java.util.Scanner;
public class MyClass
{
public static void main(String args[])
{
int sum1 = 0;
String stringFull = "";
boolean isTrue = Character.isDigit(string1.charAt(i));
Scanner getString = new Scanner(System.in);
System.out.println("Please enter a sequence of letters: ");
String string1 = getString.nextLine();
for(int i = 0; i < 5; i++)
{
if (Character.isDigit(string1.charAt(i)))
{
sum1 += Character.getNumericValue(string1.charAt(i));
} else {
stringFull += string1.charAt(i);
}
if (isTrue)
{
System.out.println(sum1 * sum1);
}
}
}
}
import java.util.*;
导入java.util.Scanner;
公共类MyClass
{
公共静态void main(字符串参数[])
{
int sum1=0;
字符串stringFull=“”;
布尔isTrue=Character.isDigit(string1.charAt(i));
Scanner getString=新扫描仪(System.in);
System.out.println(“请输入字母序列:”);
String string1=getString.nextLine();
对于(int i=0;i<5;i++)
{
if(Character.isDigit(string1.charAt(i)))
{
sum1+=Character.getNumericValue(string1.charAt(i));
}否则{
stringFull+=string1.字符(i);
}
如果(是真的)
{
系统输出打印LN(sum1*sum1);
}
}
}
}
您将得到下面的编译错误,因为在这一行之前没有声明i
boolean isTrue = Character.isDigit(string1.charAt(i));
相反,您应该使用false
boolean isTrue = false;
然后,循环应该循环到给定的字符串长度,但您已经硬编码为5,这将在运行时导致字符串长度小于5时出现异常
for(int i = 0; i < 5; i++)
我认为,更改的正确位置是正确的值,即检查数字的位置
if (Character.isDigit(string1.charAt(i)))
{
sum1 += Character.getNumericValue(string1.charAt(i));
isTrue = true;
}
你应该使用
Integer.parseInt(String.valueOf(string1.charAt(i)))
返回数字,而不是
Character.getNumericValue(string1.charAt(i))
返回数字的ascii码将表示总和的数字字符相加?在Java中,不能使用尚未声明的变量。例如,当您尝试boolean isTrue=Character.isDigit(string1.charAt(i))代码>,i
还不存在。
Integer.parseInt(String.valueOf(string1.charAt(i)))
Character.getNumericValue(string1.charAt(i))