java吧 关注:1,274,240贴子:12,785,523
  • 18回复贴,共1

求教大神关于防止重复输入

只看楼主收藏回复

Scanner reader=new Scanner(System.in);
int a[]=new int[100]//随便几个数字,不一定100
int count;
for (count=0;count<100;count++)
{System.out.println("input a number");
a[count]=reader.nextInt();
}
现在我想在上面代码的基础上加上防止输入已有数值的功能应该怎么实现啊。
比如
第一个输入1
第二个输入2
第三个输入1 提示重复
再输入2 提示重复
输入3
第四个。。。。。。。。。。。
小弟刚学,试了好几遍,每次都是前几个循环正确后面就不对了



IP属地:上海1楼2012-09-12 00:46回复
    用一个 list 记录已输入过的,然后之后输入时看是否在那个 list中


    IP属地:江苏来自Android客户端2楼2012-09-12 00:47
    收起回复
      2025-08-16 17:28:19
      广告
      不感兴趣
      开通SVIP免广告
      输入之后编历前面的元素,如果重复了的话count--就行了……
      目测用set也行……
      我是新手,没怎么用过容器……


      来自Android客户端3楼2012-09-12 00:53
      收起回复
        下面是我自己想的,我知道肯定不对,但是想了好久还是不知道应该怎么改
        int a[]=new int[100];
        int b=0;
        int c;
        while (b<100)
        {
        System.out.println("number please");
        a=reader.nextInt();
        c=0;
        while (c<b){
        if (a[b]==a[c])
        {
        System.out.println("wrong");
        System.out.println("numberagain");
        a=reader.nextInt();
        }
        else
        c=c+1;
        }
        b=b+1;
        }
        }


        IP属地:上海4楼2012-09-12 00:55
        回复
          输好后把数组从头到目前index-1都看一下,是不是重复了。。。


          IP属地:法国5楼2012-09-12 00:55
          收起回复
            你可以传一个方法,传一个数组参数和一个int参数进去,然后判断这个int参数在不在这个数组里面,在的话,就return false 否则就return true;每次输入的时候都调用这个方法用if语句进行下判断,ture就怎么怎么样,fale级怎么怎么样


            IP属地:浙江6楼2012-09-12 00:58
            收起回复
              先不做处理把数组输完,然后从头开始一个一个查,把后面重复的都干掉……可能会快一些?。。。床上翻来覆去中,谁来算一下时间复杂度?


              来自Android客户端7楼2012-09-12 01:20
              回复
                大婶们都解决了,我出来看看酱油
                行情如何。。。


                IP属地:山东9楼2012-09-12 13:14
                回复
                  2025-08-16 17:22:19
                  广告
                  不感兴趣
                  开通SVIP免广告
                  每次输入循环一边数组和输入的数字比较,,出现相同就提示,没有相同就添加


                  IP属地:浙江10楼2012-09-12 13:42
                  回复
                    谢谢楼上各位启发,已经解决了,用了很原始的方法


                    IP属地:上海11楼2012-09-12 16:44
                    回复
                      下面加个for循环吧,把刚输入的跟前面的数组挨着比较,虽然笨了点,但是初学者你也正能用这个方法了


                      12楼2012-09-12 17:18
                      回复