2012-03-20 82 views
1

任何人都知道如何检查数组索引(不只是一个索引)是否为空,如果为空或零则在那里放置一个值。而且,如果所有索引都不为空,则会显示错误。如何检查数组索引是否为空,如果是这样,检查下一个?

很抱歉,我不能给代表。

import java.util.Scanner; 

public class Myhash { 

/** 
* @param args 
*/ 
public static void main(String[] args) { 
    // TODO Auto-generated method stub 

    int [] myData = new int[17]; 

    int [] newData = new int [17]; 

    System.out.println("Please enter 16 integer numbers"); 
    for(int i= 0; i<myData.length; i++){ 
     //System.out.print("Please enter 16 numbers"); 
     Scanner input = new Scanner(System.in); 
     int data =input.nextInt(); 
     myData[i]=data; 
     int num3 = data % 17; 
     newData[num3]=data; 
    }  

    System.out.println("These are the numbers you entered\n");  
    System.out.printf("%s%8s \n", "Index", "Value"); 

    for(int t=0; t<myData.length; t++){ 
     System.out.printf("%5d%8d\n", t, myData[t]); 
    } 

    System.out.println("\n"); 
    System.out.println("The Hash Function:\n\n"); 
    System.out.printf("%5s%8s \n", "Index", "Value"); 

      for(int s=0; s<newData.length; s++){ 
     System.out.printf("%5d%8d\n", s, newData[s]); 
      } 
    } 
} 

在这里:

for(int s=0; s<newData.length; s++){ 
    System.out.printf("%5d%8d\n", s, newData[s]); 
    } 

如何检查多个索引(如果为空 如果索引是空的怎么检查下一个索引,如果一个不为空怎么办?我想和你下单,等

+2

什么语言? – 2012-03-20 10:53:28

+0

另外,什么是数组存储?字符串,整数等?在java中 – ianaldo21 2012-03-20 10:54:50

+0

是一个int。我只知道如何检查一个索引 – user1244123 2012-03-20 10:55:33

回答

2

这里:在原始ARR

for(int i = 0; i < array.length; i++) 
{ 
    if(array[i] == null) 
     continue; 
} 
+0

你必须解释更多。这基本上是一个代码唯一的答案。 – Wulf 2013-06-12 04:07:58

8

元素ays不能为空。如果你声明,像这样

int [] newData = new int [17]; 

数组,然后所有元素的默认值为零,他们将永远得到初始化的东西

对于检查,如果没有输入的元素,你可以使用一个简单的循环:

for(int i=0;i<newData.length;i++) 
    { 
     if(newData[i]==0) 
      System.out.println("The value at " + i + "is empty"); 
    } 

虽然,上面的代码不会工作你的情况,因为用户可能输入0作为输入值和仍然这个代码会认为它是空的。

你可以做的是,初始化所有值为-1的数组,并在输入提示符处指定只能输入> = 0的值。 初始化可以做这样的:

int[] newData = new int[17]; 
for(int i=0;i<newData.length;i++) 
{ 
    newData[i]= -1; 
} 

那么你可以要求用户进行输入,并做处理。那么你可以用这个:

for(int i=0;i<newData.length;i++) 
    { 
     if(newData[i]==-1) 
      System.out.println("The value at " + i + "is empty"); 
    }