Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 读取10个数字并显示它们,不重复_Java_Arrays_For Loop - Fatal编程技术网

Java 读取10个数字并显示它们,不重复

Java 读取10个数字并显示它们,不重复,java,arrays,for-loop,Java,Arrays,For Loop,我要创建一个程序,接受用户输入的10个数字,每个数字只显示一次。例如,如果用户输入数字:1、2、3、3、4、5、6、7、8、9,则代码将仅显示数字3一次,即使用户键入了两次 在搜索了我的教科书和这个网站上的论坛后,我遇到了一个错误,它找不到符号I import java.util.Scanner; public class ArrayWith10Numbers { public static void main(String[] args) { Scanner inp

我要创建一个程序,接受用户输入的10个数字,每个数字只显示一次。例如,如果用户输入数字:1、2、3、3、4、5、6、7、8、9,则代码将仅显示数字3一次,即使用户键入了两次

在搜索了我的教科书和这个网站上的论坛后,我遇到了一个错误,它
找不到符号I

import java.util.Scanner;

public class ArrayWith10Numbers {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        int[] myArray = new int[10];

        System.out.print("Enter " + myArray.length + " values: ");

        for (int i = 0; i < 10; i++); {
            myArray[i] = input.nextInt();
        }

        for(int n = 0; n < 10; n++)
        {
            System.out.print("myArray["+ (n+1) +"] is : "+ myArray[n]);
        }
    }
}
import java.util.Scanner;
具有10个数字的公共类数组{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
int[]myArray=新的int[10];
System.out.print(“输入”+myArray.length+“值:”);
对于(inti=0;i<10;i++){
myArray[i]=input.nextInt();
}
对于(int n=0;n<10;n++)
{
System.out.print(“myArray[”+(n+1)+“]是:“+myArray[n]);
}
}
}

如果我的代码还有其他问题,也请告诉我。我是一个初学者,但我会尽力学习和提高。谢谢。

for语句末尾有分号。请把它拿走

for (int i = 0; i < 10; i++);
for(inti=0;i<10;i++);
这是固定程序

import java.util.*;

public class ArrayWith10Numbers {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int[] myArray = new int[10];

        System.out.print("Enter " + myArray.length + " values: ");

        for (int i = 0; i < myArray.length; i++) {
            myArray[i] = input.nextInt();
        }

        Set<Integer> set = new HashSet<>();

        for (int i = 0; i < myArray.length; i++) {
            if (!set.contains(myArray[i])) {
                System.out.println("myArray[" + i + "] is: " + myArray[i]);
                set.add(myArray[i]);
            }
        }
    }
}
import java.util.*;
具有10个数字的公共类数组{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
int[]myArray=新的int[10];
System.out.print(“输入”+myArray.length+“值:”);
for(int i=0;i
这是另一个不将输入存储到数组中的程序

import java.util.*;

public class ArrayWith10Numbers {

    public static void main(String[] args) {
        final int TOTAL_NUMBERS = 10;
        System.out.print("Enter " + TOTAL_NUMBERS + " values: ");

        Scanner input = new Scanner(System.in);
        Set<Integer> set = new TreeSet<>();

        for (int i = 0; i < TOTAL_NUMBERS; i++) {
            set.add(input.nextInt());
        }

        StringBuilder sb = new StringBuilder();     
        for (int n : set) {
            sb.append(n).append(' ');
        }

        System.out.println("Numbers without duplicates: " + sb);
    }
}
import java.util.*;
具有10个数字的公共类数组{
公共静态void main(字符串[]args){
最终整数总数=10;
系统输出打印(“输入”+总数+”值:);
扫描仪输入=新扫描仪(System.in);
Set=新树集();
对于(int i=0;i<总数;i++){
set.add(input.nextInt());
}
StringBuilder sb=新的StringBuilder();
for(int n:set){
某人附加(n)附加(“”);
}
系统输出打印项次(“无重复项的数字:+sb”);
}
}

数字将按升序打印。如果您希望以与输入相同的顺序显示数字,请将
TreeSet
替换为
LinkedHashSet
,如dumb_终端的回答所示。

for语句末尾有分号。请把它拿走

for (int i = 0; i < 10; i++);
for(inti=0;i<10;i++);
这是固定程序

import java.util.*;

public class ArrayWith10Numbers {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int[] myArray = new int[10];

        System.out.print("Enter " + myArray.length + " values: ");

        for (int i = 0; i < myArray.length; i++) {
            myArray[i] = input.nextInt();
        }

        Set<Integer> set = new HashSet<>();

        for (int i = 0; i < myArray.length; i++) {
            if (!set.contains(myArray[i])) {
                System.out.println("myArray[" + i + "] is: " + myArray[i]);
                set.add(myArray[i]);
            }
        }
    }
}
import java.util.*;
具有10个数字的公共类数组{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
int[]myArray=新的int[10];
System.out.print(“输入”+myArray.length+“值:”);
for(int i=0;i
这是另一个不将输入存储到数组中的程序

import java.util.*;

public class ArrayWith10Numbers {

    public static void main(String[] args) {
        final int TOTAL_NUMBERS = 10;
        System.out.print("Enter " + TOTAL_NUMBERS + " values: ");

        Scanner input = new Scanner(System.in);
        Set<Integer> set = new TreeSet<>();

        for (int i = 0; i < TOTAL_NUMBERS; i++) {
            set.add(input.nextInt());
        }

        StringBuilder sb = new StringBuilder();     
        for (int n : set) {
            sb.append(n).append(' ');
        }

        System.out.println("Numbers without duplicates: " + sb);
    }
}
import java.util.*;
具有10个数字的公共类数组{
公共静态void main(字符串[]args){
最终整数总数=10;
系统输出打印(“输入”+总数+”值:);
扫描仪输入=新扫描仪(System.in);
Set=新树集();
对于(int i=0;i<总数;i++){
set.add(input.nextInt());
}
StringBuilder sb=新的StringBuilder();
for(int n:set){
某人附加(n)附加(“”);
}
系统输出打印项次(“无重复项的数字:+sb”);
}
}

数字将按升序打印。如果您希望以与输入相同的顺序显示数字,请将
TreeSet
替换为
LinkedHashSet
,如dumb_终端的回答所示。

使用
LinkedHashSet
消除重复项

public static void main(String [] args){
        Scanner input = new Scanner(System.in);
        LinkedHashSet<Integer> set = new LinkedHashSet<>();
        for (int i = 0 ; i < 10 ; i++){
            set.add(input.nextInt());
        }

        Iterator<Integer> ii = set.iterator();
        while(ii.hasNext())
            System.out.println(ii.next());
    }
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(System.in);
LinkedHashSet=新LinkedHashSet();
对于(int i=0;i<10;i++){
set.add(input.nextInt());
}
迭代器ii=set.Iterator();
while(ii.hasNext())
System.out.println(ii.next());
}

使用
LinkedHashSet
消除重复项

public static void main(String [] args){
        Scanner input = new Scanner(System.in);
        LinkedHashSet<Integer> set = new LinkedHashSet<>();
        for (int i = 0 ; i < 10 ; i++){
            set.add(input.nextInt());
        }

        Iterator<Integer> ii = set.iterator();
        while(ii.hasNext())
            System.out.println(ii.next());
    }
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(System.in);
LinkedHashSet=新LinkedHashSet();
对于(int i=0;i<10;i++){
set.add(input.nextInt());
}
迭代器ii=set.Iterator();
while(ii.hasNext())
System.out.println(ii.next());
}

将for循环替换为

for (int i=0;i<10;i++){
        myArray[i] = input.nextInt();
    }

for(int i=0;i将for循环替换为

for (int i=0;i<10;i++){
        myArray[i] = input.nextInt();
    }

for(int i=0;i在“for”语句的末尾有一个“;”,那么“for”语句的主体是空的,下面的代码与“for”语句没有关系

{
  myArray[i] = input.nextInt();
}
正确的代码是:

for (int i = 0; i < 10; i++)
{
   myArray[i] = input.nextInt();
}
for(int i=0;i<10;i++)
{
myArray[i]=input.nextInt();
}
您可以使用一些Java IDE,比如IntelliJ IDEA,这将帮助您检查代码并给出提示

例如:


这将有助于将来解决类似的问题。

在“for”语句末尾有一个“;”,则“for”语句为空