问题描述
一个加法,用户输入不能超过99,一但超过,只取前两位显示以及相加例如:100+100显示:?10?1020描述:当输入100的第三位(“0”)时,等于回车等待输入第二个数字
解决方案
解决方案二:
“以及相加”后面的没看懂命题
解决方案三:
很简单啊,按字符输入,程序计数,判断是数字还是操作符。字符数超过2了,就忽略输入字符,继续下面的流程。
解决方案四:
你用个除法吧,int型的比如125取值的时候用intnum=125/10;如果三位了就这样四位的话/100一次类推,不行了就直接报错,呵呵还有100你说的是个位数为0的情况吗?那就/10为整数就可以了,if(number/10==0){回车什么的。。。}
解决方案五:
如何忽略输入字符呢?引用2楼weerweer的回复:
很简单啊,按字符输入,程序计数,判断是数字还是操作符。字符数超过2了,就忽略输入字符,继续下面的流程。
解决方案六:
你不敲回车是没办法把0作为回车的!
解决方案七:
但是书要求就是你敲第三个“0”时,就默认为回车,也就是说你敲不进这个“0”引用5楼bao110908的回复:
你不敲回车是没办法把0作为回车的!
解决方案八:
Stringstr1,str2;str1=str1.substring(0,Math.min(2,str1.length()));str2=str2.substring(0,Math.min(2,str2.length()));然后就可以处理了
解决方案九:
引用6楼mozart0127的回复:
但是书要求就是你敲第三个“0”时,就默认为回车,也就是说你敲不进这个“0”引用5楼bao110908的回复:你不敲回车是没办法把0作为回车的!
这样的要求有些过分。
解决方案十:
使用界面来处理就没问题命令行的话,就有些强人所难了
解决方案十一:
你用的什么技术啊,javascript很好实现,onkeyup时间就可以实现啊
解决方案十二:
该回复于2011-02-12 11:20:37被版主删除
解决方案十三:
加入一个计数器,当计数超过2时就自动回车
解决方案十四:
引用5楼bao110908的回复:
你不敲回车是没办法把0作为回车的!
0
解决方案十五:
7楼的挺高的,测试过了,应该符合楼主要求!这是我的测试代码:importjava.io.*;publicclassTest{privatestaticBufferedReaderstdIn=newBufferedReader(newInputStreamReader(System.in));privatestaticPrintWriterstdOut=newPrintWriter(System.out,true);publicstaticvoidmain(String[]args){stdOut.println("请输入两个整数:");Strings1="",s2="";try{s1=stdIn.readLine();s2=stdIn.readLine();s1=s1.substring(0,Math.min(2,s1.length()));s2=s2.substring(0,Math.min(2,s2.length()));}catch(IOExceptione){}intnum1=Integer.parseInt(s1);intnum2=Integer.parseInt(s2);intnum=num1+num2;stdOut.println(num);}}
解决方案:
"0"当做回车,,,,好奇怪的问题哦,不会围观
解决方案:
""0"当做回车"——难
解决方案:
正则表达式成吗?
解决方案:
该回复于2011-02-14 17:18:17被版主删除
解决方案:
引用楼主mozart0127的回复:
一个加法,用户输入不能超过99,一但超过,只取前两位显示以及相加例如:100+100显示:?10?1020描述:当输入100的第三位(“0”)时,等于回车等待输入第二个数字
不超过99的话根本就没有第三位除非第一位是‘-’号所以无论第三位(或者第四位)是什么都要换行