这个JAVA,可以输入字符串,但是不能输出字符串中的数字和!哪位大侠能告诉我哪里有问题不??

importjava.util.Scanner;publicclassaaa{publicstaticvoidmain(String[]args){Scanners=ne... import java.util.Scanner;
public class aaa {

public static void main(String[] args) {

Scanner s=new Scanner(System.in);
String a = s.nextLine();
int p=0;
for(int i=0;i<=a.length();i++)
{
if(Character.isDigit(a.charAt(i)))
{
p=p+Integer.parseInt(a.charAt(i)+"");
}

}

System.out.println(p);
}
}
展开
 我来答
亨利式推射
2012-09-17 · TA获得超过187个赞
知道答主
回答量:22
采纳率:100%
帮助的人:32万
展开全部
你的意思是,你从控制台输入一个字符串,把里面是数字的字符转换成数字,然后得出相加的结果是吧. 你的程序逻辑没有问题,但是要注意这里for (int i = 0; i <= a.length(); i++) 不是i <= a.length();而是i < a.length(); 把=去掉程序就正常了

分析:

假如有一个字符串
String a = "123";
那么
a.charAt(0) 的结果是 1
所以字符串的第一个字符,他的charAt()值是0,也就是平时我们说的字符串的字符索引,类似数组的下标. "123" 中 字符 '1' 的索引是 0, '2' 的索引是 1, '3' 的索引就是 2 了.

那么再看,字符串"123"的length(),也即是字符串的长度,毫无疑问"123"包含3个字符,所以length()方法返回3

现在你来看看你的循环条件a <= length(), i 从 0 开始, 到 a.length() 结束 假如你输入的就是 "123",那么 i 从 0 开始,到 3 结束. 循环中每次i 的值 0,1,2,3 也就是说循环要执行了 4 次.来看看每次循环的情况:
a 是 "123"

i = 0 时, a.charAt(0) 是 '1'
i = 1 时,a.charAt(1) 是 '2'
i = 2 时,a.charAt(2) 是 '3'

但是当 i 递增到 3 时 也就是第4次循环时,字符串已经没有字符了,a.charAt(3) 是什么呢?什么也不是,所以会提示StringIndexOutOfBoundsException,这是什么意思呢?来看看字面意思
String:字符串,
Index:索引,
Out Of Bounds:超出边界
Exception : 异常

意思就是java虚拟机告诉你,字符串索引超出边界了,这是一个运行时异常(RuntimeException)学习了Java异常的知识后你就知道了.

以后遍历字符串时多多注意才是,呵呵.另外写Java程序,类名用大写字母开头 public class Test
liaoweipop
2012-09-17 · TA获得超过308个赞
知道小有建树答主
回答量:329
采纳率:0%
帮助的人:208万
展开全部
那你把String a = s.nextLine() 改成 String a = s.next();就可以输入任何字符了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
odfriend
2012-09-26 · 超过16用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:38万
展开全部
p=p+Integer.parseInt(a.charAt(i)+"");改成p=p+Integer.parseInt(a.charAt(i));应该就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
昂杰07Q
2012-09-25
知道答主
回答量:27
采纳率:0%
帮助的人:4.1万
展开全部
额,java里输出是println(“”);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1指环1
2012-09-17 · TA获得超过222个赞
知道答主
回答量:82
采纳率:0%
帮助的人:46.9万
展开全部
楼下正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式