Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将扫描仪控制台中的6个整数存储到一个集合中_Java_Arrays_Set_Java.util.scanner_Hashset - Fatal编程技术网

Java 如何将扫描仪控制台中的6个整数存储到一个集合中

Java 如何将扫描仪控制台中的6个整数存储到一个集合中,java,arrays,set,java.util.scanner,hashset,Java,Arrays,Set,Java.util.scanner,Hashset,我知道这很简单。我如何从控制台获取输入并将输入存储到一个集合中,该集合稍后可用于在方法上返回。这就是我目前所拥有的 import java.util.HashSet; import java.util.Scanner; import java.util.Set; public class InputConsole { public static void main(String[] args) { Set<Integer> s = new HashSet<Integ

我知道这很简单。我如何从控制台获取输入并将输入存储到一个集合中,该集合稍后可用于在方法上返回。这就是我目前所拥有的

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class InputConsole {
public static void main(String[] args) {

    Set<Integer> s = new HashSet<Integer>(6);
    int[] numbers = new int[6];
    Scanner input = new Scanner(System.in);

    for (int i = 0; i < numbers.length; i++) {

        System.out.print("Please enter number ");
        numbers[i] = input.nextInt();
        {

        }

    }
}
}
import java.util.HashSet;
导入java.util.Scanner;
导入java.util.Set;
公共类输入控制台{
公共静态void main(字符串[]args){
Set s=新哈希集(6);
int[]数字=新的int[6];
扫描仪输入=新扫描仪(System.in);
for(int i=0;i
我使用和数组只是为了测试。数组设置为6,因此如果我在控制台中键入6个数字,它将停止。我已经实例化了HashSet,但我不知道如何将来自控制台的数字存储到其中

使用方法

import java.util.*;
类Hashsetdemo
{
公共静态void main(字符串参数[])
{
HashSet h=新的HashSet(6);
int[]否=新的int[6];
扫描仪s=新的扫描仪(System.in);

对于(int i=0;i为什么要先将其添加到数组中,而不是直接添加到集合中?…
s.add(…)
不起作用?如何将其直接添加到集合中?使用
s.add(j)
其中j是从扫描仪读取的数字。但是,请注意,使用
哈希集将删除重复项(如果他们输入数字5两次,你只能在集合中找到一次)并将删除顺序(如果他们输入2 4 3 9 8 5,当你在集合中迭代时,它可能以任何顺序出现)。此外,你说你想“将输入存储到一个集合中,以后可以用于在方法中返回”但是您的集合是
main
方法中的一个局部变量……除非您将其设置为实例或类变量,否则无法从另一个方法返回它。一旦我删除int[],是否需要更改数字。length也是?@cw.prime是的,您应该更改
数字。length
->
6
这似乎仍在使用数组..当删除int[]数字=新int[6];数组还需要吗?这很完美。正是我想要的。谢谢你的帮助。一些解释会有明显的帮助。另外,我认为你不应该使用原始类型(更喜欢
HashSet
,就像问题中的
HashSet
)。
for (int i = 0; i < numbers.length; i++) 
{    
    System.out.print("Please enter number ");
    s.add(input.nextInt());
}  
   public static void main(final String ... args) 
   {
      final int inputs = 6;
      final Set<Integer> s = new HashSet<Integer>(6);
      final Scanner input = new Scanner(System.in);

      for (int i = 0; i < inputs; i++) 
      {
         System.out.print("Please enter number #" + (i + 1) + ":");
         s.add(input.nextInt());
      }

      System.out.println("Well done!");
      System.out.println(s);
   }
import java.util.*;

class Hashsetdemo
{

     public static void main(String args[])
     {
         HashSet h=new HashSet(6);
         int [] no = new int[6];
         Scanner s=new Scanner(System.in);

         for (int i=0;i<no.length;i++)
         {
             System.out.println("please enter number");

             h.add(s.nextInt());
         }
         System.out.println(h);
     }

}