Duvida em array bidimensional com arredondamento!

3 respostas
R

Ola pessoal, sou iniciante Java e estou fazendo um array bidimensional constituidos por valores randomicos de 0 a 10 do tipo double com duas casas decimais, ou seja, x,xx.

Esse eh o metodo, mas esta dando tipo incompativel, ele encontra java.lang.String, mas requer double!

static String preenchaMatriz ( double array[][]) {
      for ( int linha = 0; linha < array.length; linha++ ) {
          for ( int coluna = 0; coluna < array[linha].length; coluna++ ) {
              DecimalFormat formataRandom = new DecimalFormat( "0.00" );
              array[linha][coluna] = formataRandom.format(Math.random()* 10);
              saida += (String.valueOf(array[linha][coluna]) + "  ");
          }
      saida += "\n";
      }
     return saida;
}

Se eu ecutar ele gera um x,xxxxxxxxxxxxxx!

import java.text.*; ja esta declarado…

Valeu,
Rafael

3 Respostas

C

Acho q assim fica mais facil.De uma olhada ai!!

static String preenchaMatriz ( double array[][]) 
{
       Random ran = new Random(10); //import java.util.*; ira gerar um numero double de 0 a 10 
       for ( int linha = 0; linha < array.length; linha++ ) 
       {
           for ( int coluna = 0; coluna < array[linha].length; coluna++ ) 
           {
              
                array[linha][coluna] = ran.nextDouble();
                saida += (String.valueOf(array[linha][coluna]) + "  ");
           }
          saida += "\n";
       }
      return saida;
 }
R
Carlos Martins:
Acho q assim fica mais facil.De uma olhada ai!!
static String preenchaMatriz ( double array[][]) 
{
       Random ran = new Random(10); //import java.util.*; ira gerar um numero double de 0 a 10 
       for ( int linha = 0; linha < array.length; linha++ ) 
       {
           for ( int coluna = 0; coluna < array[linha].length; coluna++ ) 
           {
              
                array[linha][coluna] = ran.nextDouble();
                saida += (String.valueOf(array[linha][coluna]) + "  ");
           }
          saida += "\n";
       }
      return saida;
 }

Agracedo a ajuda, mas a parte do random ja esta feita, so nao estou conseguindo fazer a formatacao mesmo! :(

C

Foi mau entendi o que quer.Este metodo(formataRandom.format()) returna uma string.

static String preenchaMatriz ( double array[][])

{

Random ran = new Random();

DecimalFormat formataRandom = new DecimalFormat( 0.00 );

for ( int linha = 0; linha < array.length; linha++ )

{

for ( int coluna = 0; coluna < array[linha].length; coluna++ )

{

array[linha][coluna] = ran.nextDouble();

saida += " " + formataRandom.format(array[linha][coluna]);

}

saida += “\n;

}

return saida;

}
Criado 3 de abril de 2005
Ultima resposta 3 de abr. de 2005
Respostas 3
Participantes 2