Java 读取10个数字并显示它们,不重复
我要创建一个程序,接受用户输入的10个数字,每个数字只显示一次。例如,如果用户输入数字:1、2、3、3、4、5、6、7、8、9,则代码将仅显示数字3一次,即使用户键入了两次 在搜索了我的教科书和这个网站上的论坛后,我遇到了一个错误,它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
找不到符号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”语句为空