java输入一列数字到数组中,打印输出数组中不同的数字,相同的数字只输出一次…

2024-12-29 12:52:34
推荐回答(4个)
回答1:

编程的东西还是得自己动脑动手才学的会啊。
下面的代码是我给你提供的一种纯自己写的方法,不依靠SDK里面的任何已有类。
另外一种是用HashSet,将输入的元素存到HashSet中,因为Set是不允许有重复元素的,所以重复添加只会有一个值的元素存在。
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
System.out.println("请输入数组长度:");
Scanner sc = new Scanner(System.in);
int length = sc.nextInt();
System.out.println("请输入数组元素:");
int a[] = new int[length];
boolean isNumberInA[] = new boolean[length];
for(int i=0;ia[i] = Integer.MIN_VALUE;
isNumberInA[i] = false;
}
for(int i=0,j=0;iint input = sc.nextInt();
if(isNumberInA[input]==false){
a[j] = input;
isNumberInA[input] = true;
j++;
}
}
System.out.println("数组输出为:");
for(int i=0;iif(a[i]==Integer.MIN_VALUE)
break;
else System.out.print(a[i]+" ");
}
}
}

回答2:

emmmmmm......

import java.util.Scanner;
public class 打印 {
public static void main(String[] args){
int[] array = {11,6,4,7,12,3,7,5,1,61,2,1,3,8,9,2,8,10,9};
java.util.Arrays.sort(array);
String str = array[0] + " ";
for(int i=1;iint[] arr =new int[i];
System.arraycopy(array, 0, arr, 0, i);
int b = java.util.Arrays.binarySearch(arr,array[i]);
if(b<0)
str = str + array[i] + " ";
}
String arr[] = str.split(" ");
int a[] = new int[arr.length];
for(int j = 0; j < a.length; j++)
a[j] = Integer.parseInt(arr[j]);
for(int i=0;iSystem.out.print( a[i]+" ");
}
}

回答3:

public void process(string args){

int[] intArr=new int[10];
String[] numbers=args.split(",");
for(int i=0;iint number=0;
try{
number=Integer.parseInt(numbers[i]);
}catch(NumberFormatException nfe){
nfe.printStackTrace();
}
intArr[number-1]=1;//不输入0的话,number-1
}
for(int i=0;iif(intArr[i]!=0){
System.out.print(i+1);
}
if(i!=9){
System.out.print(",");
}
}
}

回答4:

虽然很简单,但是我真的希望你能自己写出来,一个循环就可以做到的,自己想想吧,这种问题用20分问然后等答案,你的水平不会有任何提高的。。。慢慢打基础吧。。。