Vedi se ti è chiaro (se ho ben capito il problema):
codice:private static void richiediValori(int[][] matrice) { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); int scelta = 0; do { try { System.out.print("\nInserisci 1 per stampare una riga, 2 per stampare una colonna (0 per terminare): "); String line = bufferedReader.readLine(); scelta = Integer.parseInt(line); if(scelta == 1 || scelta == 2) { elaboraScelta(scelta,matrice); } else if(scelta == 0) { System.out.println("\nApplicazione terminata"); } else { System.out.println("\nInput errato, ritenta..."); } }catch(NumberFormatException e) { System.out.println("\nInput errato, ritenta..."); continue; }catch(IOException e) { System.out.println("\nInput errato, ritenta..."); continue; } }while(scelta != 0); } private static void elaboraScelta(int scelta, int[][] matrice) { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); int opt = 0; do { try { if(scelta == 1) { System.out.print("\nInserisci il numero della riga da stampare (-1 per terminare): "); String line = bufferedReader.readLine(); opt = Integer.parseInt(line); stampaRiga(opt,matrice); return; } else { System.out.print("\nInserisci il numero della colonna da stampare (-1 per terminare): "); String line = bufferedReader.readLine(); opt = Integer.parseInt(line); stampaColonna(opt,matrice); return; } }catch(NumberFormatException e) { System.out.println("\nInput errato, ritenta..."); }catch(IOException e) { System.out.println("\nInput errato, ritenta..."); } }while(opt != -1); } private static void stampaRiga(int riga, int[][] matrice) { if(riga >= matrice.length) { System.out.println("\nNumero riga non esistente"); } for(int i=0; i<matrice.length; i++) { for(int j=0; j<matrice[i].length; j++) { if(i == riga) { System.out.print("\t" + matrice[i][j]); } } } } private static void stampaColonna(int colonna, int[][] matrice) { if(colonna >= matrice[0].length) { System.out.println("\nNUmero colonna non esistente"); } for(int i=0; i<matrice.length; i++) { for(int j=0; j<matrice[i].length; j++) { if(j == colonna) { System.out.print("\t" + matrice[i][j]); } } } }

Rispondi quotando

