java输入一列数字到数组中,打印输出数组中不同的数字,相同的数字只输出一次…
java中输入一列数字到数组中,打印输出数组中不同的数字,去掉相同的数字…具体题目是建立一个10个数的一维数组,从控制台输入10个数字,然后把这个数组中相同的数字只输出一...
java中输入一列数字到数组中,打印输出数组中不同的数字,去掉相同的数字…具体题目是建立一个10个数的一维数组,从控制台输入10个数字,然后把这个数组中相同的数字只输出一次…比如输入1,1,2,2,3,3,3,4,4,5,打印输出,1,2,3,4,5…请给出详细的java程序,谢谢啊
能不能用哈希表编写出来?谁告诉我 展开
能不能用哈希表编写出来?谁告诉我 展开
4个回答
展开全部
编程的东西还是得自己动脑动手才学的会啊。
下面的代码是我给你提供的一种纯自己写的方法,不依靠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;i<length;i++){
a[i] = Integer.MIN_VALUE;
isNumberInA[i] = false;
}
for(int i=0,j=0;i<length;i++){
int input = sc.nextInt();
if(isNumberInA[input]==false){
a[j] = input;
isNumberInA[input] = true;
j++;
}
}
System.out.println("数组输出为:");
for(int i=0;i<length;i++){
if(a[i]==Integer.MIN_VALUE)
break;
else System.out.print(a[i]+" ");
}
}
}
下面的代码是我给你提供的一种纯自己写的方法,不依靠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;i<length;i++){
a[i] = Integer.MIN_VALUE;
isNumberInA[i] = false;
}
for(int i=0,j=0;i<length;i++){
int input = sc.nextInt();
if(isNumberInA[input]==false){
a[j] = input;
isNumberInA[input] = true;
j++;
}
}
System.out.println("数组输出为:");
for(int i=0;i<length;i++){
if(a[i]==Integer.MIN_VALUE)
break;
else System.out.print(a[i]+" ");
}
}
}
2018-08-11
展开全部
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;i<array.length;i++){
int[] 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;i<a.length;i++)
System.out.print( a[i]+" ");
}
}
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;i<array.length;i++){
int[] 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;i<a.length;i++)
System.out.print( a[i]+" ");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public void process(string args){
int[] intArr=new int[10];
String[] numbers=args.split(",");
for(int i=0;i<numbers.length;i++){
int number=0;
try{
number=Integer.parseInt(numbers[i]);
}catch(NumberFormatException nfe){
nfe.printStackTrace();
}
intArr[number-1]=1;//不输入0的话,number-1
}
for(int i=0;i<intArr.length;i++){
if(intArr[i]!=0){
System.out.print(i+1);
}
if(i!=9){
System.out.print(",");
}
}
}
int[] intArr=new int[10];
String[] numbers=args.split(",");
for(int i=0;i<numbers.length;i++){
int number=0;
try{
number=Integer.parseInt(numbers[i]);
}catch(NumberFormatException nfe){
nfe.printStackTrace();
}
intArr[number-1]=1;//不输入0的话,number-1
}
for(int i=0;i<intArr.length;i++){
if(intArr[i]!=0){
System.out.print(i+1);
}
if(i!=9){
System.out.print(",");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
虽然很简单,但是我真的希望你能自己写出来,一个循环就可以做到的,自己想想吧,这种问题用20分问然后等答案,你的水平不会有任何提高的。。。慢慢打基础吧。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询