当前位置: 代码迷 >> Java相关 >> 问题又来了!
  详细解决方案

问题又来了!

热度:252   发布时间:2006-10-28 14:18:06.0
问题又来了!
//以下程序编译通过,却运行就出现了问题了,得不到想要的结果请问为什么~
//从键盘输入三个整数,每输入一个就回车,读取这三个数,按降序(从大到小)显示这三个数。


import java.io.*;
import java.util.*;
public class Exper2_7 {

/** Creates a new instance of Exper2_7 */
public static void main(String args[])
{
int $intvar=0,$var[]=null,temp=0,j=0,ii=0,i;
for( i=0;i<3;i++)
{
try
{
InputStreamReader in=new InputStreamReader(System.in);
BufferedReader cin=new BufferedReader(in);
String $str=cin.readLine();
$intvar=Integer.parseInt($str);
if(i==0)
$var[0]=$intvar;
if(i==1)
$var[1]=$intvar;
if(i==2)
$var[2]=$intvar;
}
catch(Exception e)
{System.out.println("错误原因:"+e); }
}
for( ii=0;ii<3;ii++)
for( j=0;j<3;j++)
if($var[ii]>$var[j])
{ temp=$var[ii] ;
$var[ii]=$var[j];
$var[j]=temp;
}
for(int k=0;k<3;k++)
System.out.println($var[k]);

}
}

[此贴子已经被作者于2006-10-28 14:18:55编辑过]


----------------解决方案--------------------------------------------------------
主要原因是你末初始化而造成的 。。。。。还有建议有几个变量都设成局部的。。。。
InputStreamReader in=new InputStreamReader(System.in);
BufferedReader cin=new BufferedReader(in);
String $str=cin.readLine();
$intvar=Integer.parseInt($str);
这两句帮你换了下
BufferedReader cin = new BufferedReader(
new InputStreamReader(System.in));
intvar[i] = Integer.parseInt(cin.readLine());
不要建N个变量。。。。。占地方。。。。。。
还有LZ原来是学VB的吧 呵呵 加了¥
----------------解决方案--------------------------------------------------------
以下是引用しΟν∈→魈在2006-10-28 14:39:57的发言:
主要原因是你末初始化而造成的 。。。。。
不要建N个变量。。。。。占地方。。。。。。

不明白你的意思。
我也知道像你上面说的那样换,但为了直观所以我就分步了,这应该不是问题的所在吧?
~到底错在那呢,怎么改?可以详细的说一下吗??


----------------解决方案--------------------------------------------------------
主要原因是你末初始化而造成的 。。。。。不是说了嘛         因为你是声明的一个数组  而数组虽然是int的  但依然是对像。。。。。   而你没有对它们初始化。。。所以才会出现NULLPOINTEXCPTION对吗 ???你的错误 提示应该是这个吧
----------------解决方案--------------------------------------------------------
  相关解决方案