java编程输入数字,排序输出

importjava.util.Scanner;publicclassJJArrangedNumbers1{publicstaticvoidmain(Stringargs... import java.util.Scanner;
public class JJArrangedNumbers1
{
public static void main(String args[])
{
Scanner scanner = new Scanner(System.in);
boolean repeatInput = true;
do
{
String line;
System.out.println("请任意输入数字,以空格间隔,以回车结束!");
line = scanner.nextLine();
ArrangedNumbers arrangeNumbers = new ArrangedNumbers();
arrangeNumbers .isNumber(line);
arrangeNumbers .getNumber();
arrangeNumbers .compareNumber();
arrangeNumbers .outputNumber();
String noInput = " ";
String input = scanner.nextLine();
if (noInput.equals(input))
{
System.exit(0);
}
}
while (repeatInput);
}
}
/**
*任意输入数字,并按升序排列输出
*
*@author Yang
*/
class ArrangedNumbers
{
int[] arrayNumbers;
StringBuffer stringbuffer = new StringBuffer();
/**
*判断字符串是否数字
*
*@return 返回是数字
*/
public boolean isNumber(String line)
{
char[] figures = line.toCharArray();
boolean isNumber = true;
for(int i=0;i<figures.length;i++)
{
if(!(figures[i]>='1' && figures[i]<='9') && figures[i]!=32)
{
isNumber = true;
break;
}
isNumber = false;
}
if(!isNumber)
{
stringbuffer.append(line);
}
return isNumber;
}
/**
*将字符串转换为数字
*/
public void getNumber()
{
/*
数组中的整数总数
*/
int count = 0;
String inputContent = stringbuffer.toString();
String[] numbers = inputContent.split(" ");
arrayNumbers = new int[numbers.length];
for (int i=0;i<numbers.length;i++)
{
int memoryNumbers;
memoryNumbers=Integer.parseInt(numbers[i]);
arrayNumbers[count] = new Integer(memoryNumbers).intValue();
count++;
}
}
/**
*对数字进行排序
*/
public void compareNumber()
{
for (int i=0;i<arrayNumbers.length;i++)
{
for (int j=0;j<arrayNumbers.length-i-1;j++)
{
if(arrayNumbers[j]>arrayNumbers[j+1])
{
int temp;
temp = arrayNumbers[j];
arrayNumbers[j] = arrayNumbers[j+1];
arrayNumbers[j+1] = temp;
}
}
}
}
/**
*按升序排列输出
*/
public void outputNumber()
{
System.out.println("按升序排序:");
for(int i=0;i<arrayNumbers.length;i++)
{
System.out.println(arrayNumbers[i]);
}
}
}
问题:1.第一次输入66d不能进行判断 ;
询问是否继续输入时结果仍然是第一次的,也不能判断
如何改if(!(figures[i]>='1' && figures[i]<='9') && figures[i]!=32) ?
2.String[] numbers = inputContent.split(" ");
如何将其该为使用String类的index()和substring()函数?
3.每次排序完要回车,才能进行输入;输入空格时要输回车才能退出,如何避免回车,让其输入空格直接退出?
展开
 我来答
酆作FY
2007-11-30 · TA获得超过135个赞
知道答主
回答量:123
采纳率:0%
帮助的人:0
展开全部
Scanner 类 是 eclipse 竟然无法导入.....
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式