import java.util.Scanner;
public class ch06 {
public static void main(String[] shu) {
int[] list1 = new int[10];
Scanner input = new Scanner(System.in);
System.out.println("Enter ten numbers:");
for (int i = 0; i < list1.length; i++)
list1[i] = input.nextInt();
eliminateDuplicates(list1);
}
public static void eliminateDuplicates(int[] list) {
int[] result = new int[list.length];
int k = 0;
for (int i = 0; i < list.length; i++) {
int j = 0;
for (; j <= i && list[i] != result[j]; j++);/*如果再插入的那个不等于前面所有的数,那么这个j是比前
数的个数多加了一,这时候就可以插入数据了,就让k等于这个时候的list[i],然后K还有自增。但是有一个问题是,
未赋初值时,数组的第一个值是零,如果数组中出现零,那么这样消除重复后零就都没有了。怎么解决?*/
if (j > i)
result[k++] = list[i];
}
for(int i=0;i<k;i++){
System.out.print(result[i]+" ");
}
}
}
不好意思,我问的问题其实是这样的。就是要设计一个方法,消除数组中的重复元素,但是用以上代码方法会在消除重复时,数组中的零都没有了。我想让0出现在数组中,要怎么实现?
追答你可以加个标志判断是否有0,下面那个方法可以这样改:
public static void eliminateDuplicates(int[] list) {
int[] result = new int[list.length];
int k = 0;
boolean flag =true;
for (int i = 0; i i)
result[k++] = list[i];
}
for (int i = 0; i < k; i++) {
System.out.print(result[i] + " ");
}
}
其中:|| (j == i && list[i] == 0) 应该能解决你的问题!!
java中的数组未赋值时,默认元素都为零,这样老是会出问题,怎么解决啊...
int[] intArray;\/\/声明数组 intArray = new int[5];\/\/为数组分配空间 所谓的静态和动态是相对于程序运行是而言的,静态是在程序编译时就初始化好了的,动态初始化是在程序运行是才动态分配内存空间。对于代码而言,其实都可以。唯一不一样的地方, 就是动态的初始值都是0,静态的是直接给定值了。...
java 中声明了int数组没有初始化时,int数组的默认值为什么是null而不是...
int[]数组不是基本类型,是对象,所以默认为null java里面所有对象没有new得时候,都为null,基本类型int才是默认为0
java中string不赋值输出什么?
3、数组没有初始化,也没有声明长度,所以不能赋值。String[]apart=newString[3];String[]eye1=newString[3];这样赋值只能赋到eye1[2]=apart[2];结果是NULL。java中数组没有赋值会等于什么?怎么程序运行到这里会停止?1、错误的原因是:声明一个整数数组,如果没有赋值,数值元素都为0,不是nu...
Java程序运行时,没有赋值的基本类型变量会在内存中分配空间吗?
1.一个Java文件,只要有main入口方法,我们就认为这是一个Java程序,可以单独编译运行。2.无论是普通类型的变量还是引用类型的变量(俗称实例),都可以作为局部变量,他们都可以出现在栈中。只不过普通类型的变量在栈中直接保存它所对应的值,而引用类型的变量保存的是一个指向堆区的指针,通过这个指针,...
java怎么给一个不确定行的二维数组初始值都为零,如double a[][]_百...
可以用for循环对数组赋值:public class Test { public static void main(String[] args) { double[][] a = new double[2][2]; for(int i = 0; i < 2; i++){ for(int j = 0; j < 2; j++){ a[i][j] = 0; } } }} ...
java 中java.lang.IndexOutOfBoundsException一般是什么异常呢_百度知 ...
该异常通常是指数组下标越界异常。例如:一个ArrayList数组中没有元素,而你想获取第一个元素,运行是就会报此类型的错误。案例如下:
Java中数组如果为空,则返回一个数,怎么做?
楼主的意思,是不是可以理解成,数组的每个元素,没赋值为空,就返回空。这个意思的话就这样实现 \/\/编写一个方法,传入一个数组 public int test(Object [] obs){ for(int i=0;i<obs.length;i++){ if(!obs[i].equals(null)){ return obs.length; \/\/如果其中一个元素不为空,则放回obs...
数组不初始化结果为多少,是不是一定是0
不是0,定义数组之后,会分配一个连续的内存空间,如果不初始化,数组的值为随意的垃圾值。因为这部分连续的内存空间是任意分配的,里面的值取决于之前电脑本身用这部分内存时产生的值,一般都是垃圾值。如果你想看看值到底是多少,很简单。先定义一个数组,然后不初始化,然后直接输出数组的值,就可以...
在java中常出现的异常和解决方法?
1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋...
java中二维数组赋值的问题!如下代码为什么老是报错java.lang.ArrayInd...
用2层循环嵌套就已经很罕见了,值得引起注意。如果发现自己用到4层、5层,一定是算法出了严重问题。算法效率O(N^4)!!!或者O(N^5)!!!。。。(如果N等于100,就要算1亿次,几步就挂了) 要改变思路了。。由于这里只有问题代码,也不知道题意,没法从已有的错往未知的正确上纠正。。楼上你也别...