2012-03-20 9 views
1

配列のインデックス(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]); 
    } 

インデックスは次のインデックスをチェックしないか空であるとした場合(空の場合 つ以上のインデックスをチェックしない方法を1つは、どのように空でない場合は? ?私はここ

+2

どのような言語ですか? –

+0

また、配列の格納内容は何ですか?文字列、整数など? javaの – ianaldo21

+0

はintです。私はただ1つのインデックスをチェックする方法を知っています – user1244123

答えて

2

など、次のいずれかをチェックします:原始的な編曲で

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

あなたはもっと説明する必要があります。これは基本的にコードのみの回答です。 – Wulf

8

要素aysは空ではありません。彼らはいつもあなたがそう

int [] newData = new int [17]; 

のように配列を宣言する場合は、すべての要素がゼロにデフォルト設定されます何か

に初期化されますよ。

要素が入力されていない場合、あなたは単純なループを使用することができますチェックの場合:ユーザーが入力値として0を入力してください可能性があるため、上記のコードは、あなたのケースでは動作しません、が

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

をし、それでもこのコードは空であるとみなします。

できることは、すべての値を-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"); 
    } 
関連する問題