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.
为什么结果会是这个,请高手过目

解决方案 »

  1.   

    System.out.println( "较大的数是: "+max+num1+num2+n1+n2);
    改为
    System.out.println( "较大的数是: "+max+" "+num1+" "+num2+" "+n1+" "+n2);程序本身没有错误 可能是你输入错了吧
      

  2.   

    结果很正常啊,你只要输出最大的数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
      

  3.   

    啊,我又运行了因此还是以前的结果。我用的是JCreate,这个软件不怎么好用,而且还没又debug,请问下你们是用什么软件编译,是JBuide吗
      

  4.   

    我的结果是
    45.0 12.0 45.0 12 45
    要是出现LZ以前的结果,就是两个参数都是12造成的。
    顺便说一下,我用的是Eclipse。
      

  5.   

    比较喜欢editplus^^...
    在DOS 下运行咯。。