用java语言编写输入一些内容,判断是数字,并且用回车符结束,统计输入了多少个数字,用数组的方式输出

来源:百度知道 编辑:UC知道 时间:2024/05/27 08:00:37
用java语言编写输入一些内容,判断是数字,并且用回车符结束,最后统计输入了多少个数字,并且用数组的方式输出,然后在按升序排出?
import java.util.*;
public class num
{
public static void main(String[]args)
{
boolean JudgeIsNum = true;
int count=0;
char x[];
int k=0;
x = new char[0];
Scanner in=new Scanner(System.in);
while (JudgeIsNum)
{
System.out.println("请任意输入数字,并且用“回车符”结束。");
String character=in.nextLine();
for (int j = 0; j < character.length(); j++)
{
if (!(character.charAt(j) >= 48 && character.charAt(j) <= 57))
{
System.out.println("您输入的不是数字!请重新输入.");
JudgeIsNum = true;
break;
}
else
{
JudgeIsNum = false;
}
}
if (!JudgeIsNum)
{
for(int i=0;i<character.length();i++)
{
if(Character.isDigit(character.charAt(i)))
count++;
}//用回车结束时判断输入了多少个数字,并且保存到count中
int data = Integer.parseInt(character);
Sys

System.out.println("总共输入了"+ count +"个数字 ");
for (;k<=count-1;k++) // 第一个for语句
System.out.println("x["+k+"]="+ x[k] );//用数组的方式显示输入的数字
for (;k<=count-1;k++) // 第二个for语句

以上是你代码的一部分.
第一个for循环后,k的值已经大于count-1了,你在没有初始化k的情况下继续用k来循环所以第二个for一开始k就不满足循环条件,所以第二个for的循环体部分不会被执行.

解决方案:
第二个for这样写就可以了
for (k=0;k<=count-1;k++) // 第二个for语句

OK
一楼不错