java输入输出的问题

helloaxiong 2007-11-01 10:43:08
import java.util.Scanner;
import java.io.InputStream;
import java.io.BufferedReader;
import java.io.*;
import java.lang.*;
public class compare
{ double num1,num2,max;
public compare() throws IOException
{System.out.println("请输入两个数");
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader inpnt=new BufferedReader(reader);
String n1=inpnt.readLine();
String n2=inpnt.readLine();
num1=Double.parseDouble(n1);
num2=Double.parseDouble(n2);
if(num1>num2) max=num1;
else max=num2;
System.out.println("较大的数是:"+max+num1+num2+n1+n2);
}
public static void main(String[] args) throws IOException
{compare com=new compare();
System.exit(0);
}
}
这是运行后的答案
请输入两个数
12
45
较大的数是:12.012.012.012 12

Process completed.
为什么结果会是这个,请高手过目
...全文
119 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
helloaxiong 2007-11-01
  • 打赏
  • 举报
回复
啊,我又运行了因此还是以前的结果。我用的是JCreate,这个软件不怎么好用,而且还没又debug,请问下你们是用什么软件编译,是JBuide吗
TYRO729 2007-11-01
  • 打赏
  • 举报
回复
结果很正常啊,你只要输出最大的数max就可以啦,不需要把所有的数字都联到一起输出来啊
我那个结果45.012.045.01245
其中max->45.0
num1->12.0
num2->45.0
n1->12
n2->45
由于lz没有用空格之类的分隔符把五个输出结果分开所以看着有点莫名奇妙
不过最大的数确实是max=45.0
而不是lz的12.0那个结果
over
hunterhyh 2007-11-01
  • 打赏
  • 举报
回复
System.out.println( "较大的数是: "+max+num1+num2+n1+n2);
改为
System.out.println( "较大的数是: "+max+" "+num1+" "+num2+" "+n1+" "+n2);

程序本身没有错误 可能是你输入错了吧
TYRO729 2007-11-01
  • 打赏
  • 举报
回复
lz啊,我这运行的结果是:45.012.045.01245
也是输入的12和45啊,跟你的貌似不一样
seachips 2007-11-01
  • 打赏
  • 举报
回复
5楼说的对,我也是eclipse
uaudy 2007-11-01
  • 打赏
  • 举报
回复
比较喜欢editplus^^...
在DOS 下运行咯。。
TYRO729 2007-11-01
  • 打赏
  • 举报
回复
我用的是editplus...
lihaifeng0412 2007-11-01
  • 打赏
  • 举报
回复
ding xia
chenya228 2007-11-01
  • 打赏
  • 举报
回复
我的结果是
45.0 12.0 45.0 12 45
要是出现LZ以前的结果,就是两个参数都是12造成的。
顺便说一下,我用的是Eclipse。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧