java比大小问题 在线等

来源:百度知道 编辑:UC知道 时间:2024/07/02 04:20:27
import java.io.*;
import java.util.*;

public class bidaxiao{
public static void main(String args[]) throws IOException
{

int largest,num;
largest=65;

System.out.print("请输入随意整数:");
System.out.flush();
num=System.in.read();

largest=Math.max(num,largest);

System.out.println("结果=" + largest);

}
}
帮忙看看为什么一直出错!!!!
错误 就是 输出结果一直是 largest初始值 也就是 65
一直是这个!
咋回事?

请看你的程序这一行:
num=System.in.read();
其中,System.in返回的是java.io.InputStream, 而它的 read() 方法是从输入流读取下一个数据字节,不是读入一行数据,因此,它只能读入你输入的数字中的第一位,如,你输入 89 ,则它读入的是 8 的 ASCII 码 56.
如果你想把 89 赋给参数 num,则需要将 System.in 做一下包装,建议你这一行修改成:

num=Integer.parseInt(new BufferedReader(new InputStreamReader(System.in)).readLine());

没错,是你的jdk或编辑器有问题,我帮你编了。可以的
linkzq 说得没错

import java.io.*;
import java.util.*;
public class bidaxiao{
public static void main(String args[]) throws IOException
{
int largest,num;
largest=65;
System.out.print("请输入随意整数:");
Scanner reader=new Scanner(System.in);
num=reader.nextInt();
largest=Math.max(num,largest);
System.out.println("结果=" + largest);
}
}

把报错的 内容贴出来啊。

三楼的正解!