2016-12-05 21 views
0

私はこの行列sociosを持っています。これにはそれぞれのアソシエートに関する情報があります。 pesquisarSocioPorNifメソッドは、入力が見つかった行を返します。ポイントは、そのアソシエートからすべてのデータを完全に消去することです。そのため、行全体を削除する必要があります。重複して削除しようとしましたが、うまくいきます!私がそれをリストしようとするときを除いて、それは私にヌル文字列を列挙します。ここに私の方法の両方は、以下のとおりです。Java - 私のページネーションリストに空文字列を印刷する

DELETE METHOD:

public static String[][] alterarDadosSocios(String[][] socios, int nSocios, String nif) { 
    int optionAlt; 
    Scanner opAlt = new Scanner(System.in); 
    int indice = pesquisarSocioPorNif(nif, nSocios, socios); 
    if (indice != -1) { 
     do { 
      optionAlt = menuAlt(); 
      switch (optionAlt) { 
       case 1: 
        System.out.println("Introduza o novo nome. Ex: Rui Filipe.. "); 
        socios[indice][1] = opAlt.nextLine(); 
        System.out.println("Nome alterado com sucesso."); 
        break; 
       case 2: 
        System.out.println("Introduza a nova data. (Dia/Mes/Ano), Ex: 12/05/1998"); 
        socios[indice][2] = opAlt.nextLine(); 
        System.out.println("Data alterada com sucesso."); 
        break; 
       case 0: 
        System.out.println("Operação interrompida."); 
        break; 
      } 
     } while (optionAlt != 0); 
    } else { 
     System.out.println("NIF não encontrado. Introduza um NIF válido."); 
    } 

    return socios; 
} 

LIST方法:

public static void listarComPaginacao(String[][] socios, int nSocios) { 
    int contPaginas = 0; 
    for (int i = 0; i < nSocios; i++) { 
     if (i % MAX_LINHAS_PAGINA == 0) { 
      if (contPaginas > 0) { 
       pausa(); 
      } 
      contPaginas++; 
      System.out.println("\nPÁGINA: " + contPaginas); 
      cabecalho(); 
     } 
     System.out.print("\n"); 
     for (int j = 0; j < N_CAMPOS_INFO; j++) { 
       System.out.print(socios[i][j] + " | "); 
     } 
    } 
} 

出力:

PÁGINA: 1 
NIF --------- NOME -------------------- DATA DE NASCIMENTO ---------- SEXO 
========================================================================================= 

111111111 | Rui Filipe Monteiro Almeida | 12/06/1998 | masculino | 
222222222 | Jose Alameda Duarte dos Santos | 12/10/1990 | masculino | 
333333333 | Amadeus Antunes Roberoso Tuberculo | 17/03/2000 | masculino | 
123485748 | Romeu Julieta Runescape World | 18/06/2004 | masculino | 
678378589 | Antonieta Julia Mosquito | 20/15/1990 | feminino | 

Para continuar digite ENTER 



PÁGINA: 2 
NIF --------- NOME -------------------- DATA DE NASCIMENTO ---------- SEXO 
========================================================================================= 

889589488 | LEEROY JENKINS CHUMPS UP LETS DO THIS | 27/06/1994 | feminino | 

しかしASSOCIATEの222222222を削除した後:

PÁGINA: 1 
NIF --------- NOME -------------------- DATA DE NASCIMENTO ---------- SEXO 
========================================================================================= 

111111111 | Rui Filipe Monteiro Almeida | 12/06/1998 | masculino | 
333333333 | Amadeus Antunes Roberoso Tuberculo | 17/03/2000 | masculino | 
123485748 | Romeu Julieta Runescape World | 18/06/2004 | masculino | 
678378589 | Antonieta Julia Mosquito | 20/15/1990 | feminino | 
889589488 | LEEROY JENKINS CHUMPS UP LETS DO THIS | 27/06/1994 | feminino | 

Para continuar digite ENTER 



PÁGINA: 2 
NIF --------- NOME -------------------- DATA DE NASCIMENTO ---------- SEXO 
========================================================================================= 

null | null | null | null | 

どのようにしてnullがリストされないようにしますか?

言語の壁のために何かを理解できなかった場合、私はすべてを英語に翻訳します。x)私はこれを投稿しているので少し時間が足りません。私は大学1年目の最終プロジェクトでこれをやることができるようにするために必要なので、自分で作った方法以外のJavaメソッドは使用できません。

私にこれに手を差し伸べることができれば、これを多く読んでいただければ幸いです。 :)

答えて

0

配列の代わりにArrayListを使用する場合は、deleteメソッドを使用して行を削除すれば、すべてがきれいに表示されます。配列を使用する必要がある場合は、手動で行を削除するか(1行少ない配列の新しい配列を作成して古い配列をコピーするか)、出力コードがnull値を持つ行をスキップするようにするか。