用java编写任意输入数字,排序输出

/***任意输入东西,以"空格"间隔*当输入不是数字时,重新输入*输入正确后,用回车结束输入的数字*最后升序输出**@authorYang*@version$Revisi... /**
*任意输入东西,以"空格"间隔
*当输入不是数字时,重新输入
*输入正确后,用回车结束输入的数字
*最后升序输出
*
* @author Yang
* @version $Revision: 1.2 $(版本号) $Date: 2007/11/23 09:55:55 $
*/
import java.util.Scanner;
/**
*调用inputNum(),getNumber(),compareNum(),outputNum()
*
*@author Yang
*/
public class JJArrangedNumbers
{
public static void main(String args[])
{
ArrangedNumbers arrangeNumbers = new ArrangedNumbers();
arrangeNumbers .inputNum();
arrangeNumbers .compareNum();
arrangeNumbers .outputNum();
}
}
/**
*任意输入数字,并按升序排列输出
*
*@author Yang
*/
class ArrangedNumbers
{
int[] numArray;
String character;
boolean isNumber = true;
StringBuffer stringbuffer = new StringBuffer();
/**
*任意输入字符
*/
public void inputNum()
{
/*
数组中的整数总数
*/
int count = 0;
while(isNumber)
{
System.out.println("请任意输入数字,以空格间隔,以回车结束!");
Scanner scanner = new Scanner(System.in);
character = scanner.nextLine();
}
String inputContent = stringbuffer.toString();
String[] numbers = inputContent.split("\\s+");
numArray = new int[numbers.length];
for (int i=0;i<numbers.length;i++)
{
int memoryNum;
memoryNum=Integer.parseInt(numbers[i]);
numArray[count] = new Integer(memoryNum).intValue();
count++;
}
}
/**
*判断字符串是否数字
*
*/
public void getNumber(String character)
{
char[] figures = character.toCharArray();
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(character);
}
}
/**
*对数字进行排序
*/
public void compareNum()
{
for (int i=0;i<numArray.length;i++)
{
for (int j=0;j<numArray.length-i-1;j++)
{
if(numArray[j]>numArray[j+1])
{
int temp;
temp = numArray[j];
numArray[j] = numArray[j+1];
numArray[j+1] = temp;
}
}
}
}
/**
*按升序排列输出
*/
public void outputNum()
{
System.out.println("按升序排序:");
for(int i=0;i<numArray.length;i++)
{
System.out.println(numArray[i]);
}
}
}

现在在"判断字符串是否数字
"改用参数传递,我是按上面这样做的,编译可以通过,但死循环
"请任意输入数字,以空格间隔,以回车结束!
12 34"
请问要如何改?
展开
 我来答
百度网友70ae8e86ac
推荐于2016-08-18 · TA获得超过1304个赞
知道小有建树答主
回答量:815
采纳率:0%
帮助的人:1104万
展开全部
//package com.color.program;

import java.util.Scanner;

public class ArrangedNumbers {

Integer arryNum[];

int count = 0;/* 统计数字 */

boolean judgeIsNum = true;

StringBuffer stringbuffer = new StringBuffer();

Scanner scanner = new Scanner(System.in);

String character;

int memoryNum;

/**
* 任意输入字符
*
* @return 返回输入的内容
*/
// public String inputNum() {
// return null;
// }

/**
* 判断为数字
*/
public void judgmentFigures() {
while (judgeIsNum) {
System.out.println("请任意输入数字,以空格间隔,以回车结束!");
character = scanner.nextLine();
char[] figures = character.toCharArray();
for (int i = 0; i < figures.length; i++) {
if (!(figures[i] >= '1' && figures[i] <= '9')
&& figures[i] != 32) {
judgeIsNum = true;
break;
}
judgeIsNum = false;
}
if (!judgeIsNum)
stringbuffer.append(character);
}
String inputContent = stringbuffer.toString();
String[] numbers = inputContent.split("\\s+");
arryNum = new Integer[numbers.length];
for (int i = 0; i < numbers.length; i++) {
try {
memoryNum = Integer.parseInt(numbers[i]);
arryNum[count] = new Integer(memoryNum).intValue();
count++;
} catch (Exception e) {
/* 如果不出现异常,则说明肯定是数字 */
}
}
}

/**
* 对数字进行排序
*/
public void compareNum() {
for (int i = 0; i < arryNum.length; i++) {
for (int j = 0; j < arryNum.length - i - 1; j++) {
if (arryNum[j] > arryNum[j + 1]) {
Integer temp = arryNum[j];
arryNum[j] = arryNum[j + 1];
arryNum[j + 1] = temp;
}
}
}
}

/**
* 按升序排列输出
*/
public void outputNum() {
System.out.println("按升序排序:");
for (int i = 0; i < arryNum.length; i++) {
System.out.println(arryNum[i]);
}
}
}

//package com.color.program;

public class JJArrangedNumbers {

public static void main(String args[]) {
ArrangedNumbers arrangeNumbers = new ArrangedNumbers();
arrangeNumbers.judgmentFigures();
arrangeNumbers.compareNum();
arrangeNumbers.outputNum();
}
}

--------运行结果-------
请任意输入数字,以空格间隔,以回车结束!
123 4 5 6 7 7,23
请任意输入数字,以空格间隔,以回车结束!
2 e adf 3 4
请任意输入数字,以空格间隔,以回车结束!
5 6 6 76 7
按升序排序:
5
6
6
7
76
木有芒果
2015-11-06 · 如果你问我是谁~我会说我叫木有芒果~哈哈
木有芒果
采纳数:112 获赞数:595

向TA提问 私信TA
展开全部
public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);
    List<Integer> list = new ArrayList<>();
    while (scanner.hasNext())
    {
        list.add(scanner.nextInt());
        list.stream().sorted().forEach(item -> System.out.print(item+","));
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式