永发信息网

JAVA新手问题 8+88+888+……前10个和 无报错 但运行不出 求指导错误在哪

答案:3  悬赏:30  手机版
解决时间 2021-01-13 03:58
JAVA新手问题 8+88+888+……前10个和 无报错 但运行不出 求指导错误在哪
最佳答案
while(i<=10){
sum=sum+a;
i=i=1;
a=8+10*a;
}

你这个i的值并没有变,一直小于10,相当于无限循环了追问修改了
个位数10个8不应该改是尾数是0么?sum 已经改成long

追答你这个a=8+10*a;有问题,当相当于8+88+808+。。。
全部回答
你这个是死循环,i没有叠加,改为i++或i=i+1追问
修改了

个位数10个8不应该改是尾数是0么?sum 已经改成long追答你看看你的循环次数对吗
public class A5{
public static void main(String args[]){
int sum=0,a=8,i=1;
while(i<=10){
sum=sum+a;
i=i+1;//改为i+1,i=i=1的话是个死循环
a=8+10*a;
}
System.out.println("sum="+sum);
for(i=1,sum=0,a=8;i<=10;i++){
sum=sum+a;
a=a*10+8;
}
System.out.println("sum="+sum);
}
}
最后建议,sum改为long型,因为循环第11次的话输出结果会出问题
数据走出int 最大值,溢出追问
修改了

个位数10个8不应该改是尾数是0么?sum 已经改成long
追答10个数相加,尾数是0啊,再看下是哪里出问题了
第10次循环a的值88888888溢出出错了
所以把sum,a的类型改为long就好了,其它地方没有错
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
-【求最新的灰鸽子免杀方法】-
小娟的个人经历
(3x+2y)的平方-2(3x-2y)(-2y+3x)+3(3x+2y)(2y
住复式楼和高层的区别
什么是低压流体输送用焊接钢管
霸州市廊坊大馅饺子王地址在哪里啊
谜语年来未觉新的谜底(打一诗词句)谜语大全
警犬扶地帮断案,海上平风又无浪,耳边听话总
有哪些特征可以鉴别成化斗彩瓷器的真伪
47乘36加56乘36减3乘36怎么简便计算
玛莎拉蒂总裁能坐几人
怎样去除碗上的字
雅马哈天剑150摩托车和新大洲本田战鹰150——
工业视频内窥镜多少钱一台
幼儿画画涂色注意哪些
推荐资讯
高一英语成语翻译 穷饿无聊,追购又急,天高
不动产赠与协议
我刚到一家新成立的公司,原来单位的社保这个
打算学好表演,选对老师真的很重要,不知道西
这个验证码要怎样打出来,我打的时候那个括号
以金盆开头的词语
升麻的炮制方法
清水脸是什么意思
单选题下列句中的标点符号使用恰当的一项是A.
cad中怎么等距离的复制几个图形
三星c9手机用的怎么样,快不快?
小米给雷军奖励多少钱
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?