Pages: [1]   Go Down
Print
Author Topic: Un esercizio corretto...(me pare)  (Read 807 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Daréios89
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.679


La musica è la forma d'arte suprema.


« on: 03-04-2009, 16:20:51 »

Un esercizio dell'ultima prova di programmazione che mi dovrebbe essere riuscito, però avrei una curiosità.
Praticamente questo esercizio stampa una matrice frastagliata, ma non è possibile stampparla, al posto di avere tutte le stringhe di seguito, ottenerle come in una matrice?
cioè intendo al posto di avere tutto tutta la matrice su una riga, non si può fare in modo che per ogni riga, vada a capo? del tipo:

AL POSTO DI:     kpkkpk pappaap pppkappp ppkkppp pappp akkap pkppkp pppapp >Exit code: 0

non si potrebbe avere:

 kpkkpk pappaap

pppkappp ppkkppp

pappp akkap pkppkp pppapp

Ecco il codice:

Code:
/*Scrivere un metodo che prenda in input un array A di byte, e restituisca un array bidimensionale frastagliato B di stringhe la cui lunghezza delle righe è data dai valori di A.
Si riempia B con delle stringhe casuali da 5 a 8 caratteri in cui ogni singolo carattere è 'p' con probabilità 2/3, 'a', con probabilità 1/6 e 'k' con probabilità 1/6.*/

class prova2
{
public static void main(String[] args)
{
byte[] A={2,2,4};
String[][] B=prendiarray(A);
for(int r=0; r<B.length; r++)
for(int c=0; c<B[r].length; c++)

System.out.print(B[r][c]+" ");
}






public static String[][] prendiarray(byte[] A)

{


String p="";
String [][] B=new String [A.length][];
for(int r=0; r<A.length; r++)
{
B[r]=new String[A[r]];

for(int k=0; k<B[r].length; k++)
{

p="";
int casual =(int)(Math.random()*4+5);
while(p.length()<casual)
{
int prob=(int)(Math.random()*6+1);
if(prob<=4)
p+='p';
if(prob==5)
p+='a';
if(prob==6)
p+='k';
}
B[r][k]=p;

}

}

return B;
}

}

Logged

"Utilizzare sempre de l'Hôpital.....è come andare a caccia di farfalle con un bazooka".
Eleirgab
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 344


Apprezzatemi ora. Eviterete la fila


WWW
« Reply #1 on: 04-04-2009, 14:39:55 »

Basta inserire in modo opportuno una cosa del genere
Code:
System.out.print("\n");
per andare a capo
oppure
Code:
System.out.print("\t");
Per "simulare" la tabulazione.

Così inserendoli opportunamente nei tuoi for dovresti riuscirci.
Logged

Collettivo SDAI

-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GIT d-- s+:+ a-- C++ UL++ P L+++ E- W+++>$ N? o? K- w-- O? M V? PS++ PE- Y+ PGP- t 5? X+ R>+ tv-- b++ DI+++ D- G e h! r y+
------END GEEK CODE BLOCK-----
Daréios89
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.679


La musica è la forma d'arte suprema.


« Reply #2 on: 04-04-2009, 15:04:55 »

Grazie Eleirgab.....ci becchiamo lunedì.
Logged

"Utilizzare sempre de l'Hôpital.....è come andare a caccia di farfalle con un bazooka".
Pages: [1]   Go Up
Print
Jump to: