我编了一个小程序想实现输入几个数字,然后对着几个数字进行排序,但是现在有点问题,只能打印第一个数字出来,请大家帮我看看问题在哪里?
import java.util.*;
class add
{
private int[] array;
private int nElam;
public add()
{
array=new int[100];
nElam=0;
}
public void insert(int vlaue)
{
array[nElam]=vlaue;
nElam++;
}
public void display()
{
for(int i=0;i<nElam;i++)
{
System.out.println(array[i]);
}
}
public void bubblesort()
{
for(int i=nElam-1;i>1;i--)
{
for(int j=0;j<i;j++)
{
swep(array[j],array[j+1]);
}
}
}
public void swep(int one,int two)
{
int temp=array[one];
array[one]=array[two];
array[two]=temp;
}
}public class java { public static void main(String[] args) {
Vector v=new Vector();
add arr = new add();
int b =0;
System.out.println("please inter the number");
try
{
b=System.in.read();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
if(b=='\r'||b=='\n')
return ;
else
{
int num=b-'0';
v.addElement(new Integer(num));
}
int sum=0;
Enumeration e = v.elements();
while(e.hasMoreElements())
{
Integer tt= (Integer)e.nextElement();
sum=tt.intValue();
arr.insert(sum);
}
arr.bubblesort();
arr.display();
}
}
import java.util.*;
class add
{
private int[] array;
private int nElam;
public add()
{
array=new int[100];
nElam=0;
}
public void insert(int vlaue)
{
array[nElam]=vlaue;
nElam++;
}
public void display()
{
for(int i=0;i<nElam;i++)
{
System.out.println(array[i]);
}
}
public void bubblesort()
{
for(int i=nElam-1;i>1;i--)
{
for(int j=0;j<i;j++)
{
swep(array[j],array[j+1]);
}
}
}
public void swep(int one,int two)
{
int temp=array[one];
array[one]=array[two];
array[two]=temp;
}
}public class java { public static void main(String[] args) {
Vector v=new Vector();
add arr = new add();
int b =0;
System.out.println("please inter the number");
try
{
b=System.in.read();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
if(b=='\r'||b=='\n')
return ;
else
{
int num=b-'0';
v.addElement(new Integer(num));
}
int sum=0;
Enumeration e = v.elements();
while(e.hasMoreElements())
{
Integer tt= (Integer)e.nextElement();
sum=tt.intValue();
arr.insert(sum);
}
arr.bubblesort();
arr.display();
}
}
解决方案 »
- 急!request.getParameter(String name)如何获取long的数据
- 去掉重复的输出,等待高手解决!!!!!!!!!
- java 去掉字符串中间的空格 trim()不行
- JSP制作的简单网页求助
- 客户端jframe执行System.exit(0)报access denied 怎么办?
- 200分求助
- 如何在JTabel的某一个Cell编辑前得到此Cell中的数据?比如一个String.
- 在visual j++6.0中不支持(GUI)swing编程?
- 新手求助:solaris中怎么样设置java的classpath啊?
- 一个java基本概念的问题...
- about hashCode() ?
- java下那种可视化编程工具最好???
建议用readLine,用空格分隔各个数字,然后字符串split(" ")
然后Integer.parseInt()各个字符串,然后排序
import java.util.*;
class add
{
private int[] array;
private int nElam;
public add()
{
array=new int[100];
nElam=0;
}
public void insert(int vlaue)
{
array[nElam]=vlaue;
nElam++;
}
public void display()
{
for(int i=0;i<nElam;i++)
{
System.out.println(array[i]);
}
}
public void bubblesort()
{
for(int i=nElam-1;i>1;i--)
{
for(int j=0;j<i;j++)
{
swep(array[j],array[j+1]);
}
}
}
public void swep(int one,int two)
{
int temp=array[one];
array[one]=array[two];
array[two]=temp;
}
}public class java { public static void main(String[] args) {
Vector v=new Vector();
add arr = new add();
int b =0;
System.out.println("please inter the number");
while(true)
{
try
{
b=System.in.read();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
if(b=='\r'||b=='\n')
break ;
else
{
int num=b-'0';
v.addElement(new Integer(num));
}
}
int sum=0;
Enumeration e = v.elements();
while(e.hasMoreElements())
{
Integer tt= (Integer)e.nextElement();
sum=tt.intValue();
arr.insert(sum);
}
arr.bubblesort();
arr.display();
}
}但是结果还是不对,输入5819 得到0019 应该是9851啊
BufferedReader b = new BufferedReader(new InputStreamReader(System.in)));
String s = b.readLine();
String[] ss= s.split(" ");
int[] a = new int[ss.length];
for(int i=0'i<ss.length;i++){
a[i]=Integer.parseInt(ss[i]);
}
然后对a进行排序就可以了!
package thinking;
class add
{
private int[] array;
private int nElam; public add()
{
array=new int[100];
nElam=0;
}
public void insert(int vlaue)
{
array[nElam]=vlaue;
nElam++; }
public void display()
{
for(int i=0;i<nElam;i++)
{
System.out.println(array[i]);
} }
public void bubblesort()
{ for(int i=nElam-1;i>1;i--)
{
for(int j=0;j<i;j++)
{
swep(array[j],array[j+1]);
}
} }
public void swep(int one,int two)
{
int temp=array[one];
array[one]=array[two];
array[two]=temp; }
}
import java.util.*;
class add
{
private int [] array;
private int nElam;
public add()
{
array=new int[100];
//nElam=0;
}
public void insert(int vlaue)
{//
nElam=0;
array[nElam]=vlaue;
nElam++;
System.out.println(array[nElam]);
}
public void display()
{
for(int i=0;i<nElam;i++)
{
System.out.println(array[i]);
}
}
public void bubblesort()
{
for(int i=nElam-1;i>0;i--)
{
for(int j=0;j<i;j++)
{
if(array[j]>array[j+1])
swep(array[j],array[j+1]);
}
}
}
public void swep(int one,int two)
{
int temp=array[one];
array[one]=array[two];
array[two]=temp;
}
}public class java { public static void main(String[] args) {
Vector v=new Vector();
add arr = new add();
int b =0;
System.out.println("please inter the number");
while(true)
{
try
{
b=System.in.read();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
if(b=='\r'||b=='\n')
break ;
else
{
int num=b-'0';
v.addElement(new Integer(num));
}
}
int sum=0;
Enumeration e = v.elements();
while(e.hasMoreElements())
{
Integer tt= (Integer)e.nextElement();
sum=tt.intValue();
//System.out.println(sum);
arr.insert(sum);
}
arr.bubblesort();
arr.display();
}
}