读书人

一个循环的有关问题!求围观

发布时间: 2012-08-28 12:37:01 作者: rapoo

一个循环的问题!求围观啊
public static void main(String[] args) {
int[] input=new int[10];
for(int i=0;i<input.length;i++)
{
System.out.println("请您输入整数");
input[i]=new Scanner(System.in).nextInt();
}
for(int i=0;i<input.length;i++){
if(input[i]==input[i+1])
System.out.println("请重新一个输入整数");
input[i+1]=new Scanner(System.in).nextInt();


}


System.out.println(input[input.length]);

}
大家好,我的这个程序有错误吗?(题目:编写一个程序,使它能够读入10个整数,并且存储其中互不相同的数,最后将这10个数输出。)

[解决办法]
你自己写的逻辑有问题,最后一行代码也有问题,参考我下面的实现吧
不过 这里无法处理 0 的问题,因为int数组初始化 默认就给值为0了

Java code
import java.util.Scanner;import java.util.Arrays;/** * Created by IntelliJ IDEA. * User: gaoyong * Date: 2012-8-6 * Time: 0:11:23 * To change this template use File | Settings | File Templates. */public class InputTest {    public static void main(String[] args) {        int[] input=new int[10];        for(int i=0;i<input.length;i++)        {            System.out.println("请您输入整数");            input[i]=new Scanner(System.in).nextInt();            for(int j=0;j<10&&j<i;j++){                if(input[j]==input[i]){                    System.out.println("请重新一个输入整数");                    input[i]=new Scanner(System.in).nextInt();                }            }        }        System.out.println(Arrays.toString(input));//        System.out.println(input[input.length]);    }}
[解决办法]
import java.util.Scanner;

public class Test1
{
// 编写一个程序,使它能够读入10个整数,并且存储其中互不相同的数,最后将这10个数输出
public static void main(String[] args)
{
int[] input = new int[10];
for (int i = 0; i < input.length; i++)
{
System.out.println("请您输入第" + (i +1)+ "整数");
input[i] = new Scanner(System.in).nextInt();
for (int j = 0; j < i; j++)
{
if (input[j] == input[i])
{
System.out.println("请重新一个输入第" + (i+1) + "整数");
input[i] = new Scanner(System.in).nextInt();
j=-1;
continue;
}
}
}

for (int j = 0; j < input.length; j++)
{
System.out.println(input[j]);
}
}
}

读书人网 >J2SE开发

热点推荐