Exercicio 12 dando erro, ajude-me

Veja, compartilhe, discuta, ajude, mostre como você resolveu os exercícios deste módulo!

Exercicio 12 dando erro, ajude-me

Mensagempor daianerc em Qui Jan 07, 2010 9:44 am

Bom dia,

Parece que meu código está igual ao dos colegas que já postaram, más dá uma erro na linha 19.

o que eu fiz errado?

Abaixo meu código:
/*12)Crie um programa que receba como parâmetro de entrada 16 valores, coloque
os em uma matriz 4x4 e faça a transposição dos valores.
*/
class Matriz{

public static void main(String[] parametros) {

int[][] matriz = new int[4][4];
int n = 0;


if (parametros.length != 16) {
System.out.println("Parametro insuficientes: deve conter 16 parametros");
}else{
System.out.print("voce passou "+parametros.length+" parametros");

for (int i = 0;i < matriz.length ;i++ ) {
for (int j = 0;j < matriz.length;j++ ){
matriz[i][j]= parametros[n]; n++;

}

}

for (int i = 0;i <matriz.length ;i++ )
{
for (int j = 0;j<matriz.length ;j++ )
{
//System.out.println("linha "+i+" coluna "+j+" valor " + matriz[i][j]);
//imprime o resultado
System.out.println("Valor da posição ["+i+","+j+"]: "+matriz[i][j]);
}
}
}
}
}
daianerc
 
Mensagens: 17
Data de registro: Qua Dez 16, 2009 3:34 pm

Re: Exercicio 12 dando erro, ajude-me

Mensagempor daianerc em Qui Jan 07, 2010 9:51 am

Descobri que ao trocar o tipo da minha matriz de int para String, deu certo.
A matriz com tipo double tb deu erro.

alguém pode me explicar porque a matriz não pode ser de tipo numérico?
daianerc
 
Mensagens: 17
Data de registro: Qua Dez 16, 2009 3:34 pm

Re: Exercicio 12 dando erro, ajude-me

Mensagempor JCSJC em Ter Fev 16, 2010 3:04 am

Olá, daianerc:

Não é que sua matriz não possa ser númerica o problema é que seu vetor parametros é do tipo String.

public static void main(String[] parametros)


E isto também não esta errado, pois por padrão o parametro em todo metodo main tem que ser do tipo String. Mas não podemos atribuir um valor String como "15" a um vetor do tipo inteiro que somente aceitaria 15, pois se tentarmos isto com certeza dará erro de conversão.

Bom, espero ter sanado a sua dúvida. Ah, de uma olhada no tópico "Lista de exercícios do módulo 3 resolvida" e de sua opnião.

Um abraço,

Até mais.
JCSJC
 
Mensagens: 5
Data de registro: Ter Fev 09, 2010 1:25 pm

Re: Exercicio 12 dando erro, ajude-me

Mensagempor JHS6544 em Sáb Mar 27, 2010 1:52 pm

Olá to começando o módulo 3 agora, na verdade só dei uma olhada nos exercícios(nem li ainda esse módulo).
Mas assim que terminar começarei a fazer os exercícios.

Acho que seria melhor vc usar a classe Scanner( aprendida no módulo anterior) para receber esse valores.

Mas se quiser receber via main vc vai ter que fazer uma conversão do tipo Integer.parseInt(vetordeString[0]);
por exemplo: vetordeString[0]="20";


ex de código de conversão de String em int:
Código: Selecionar tudo
package Modulo3JavaStart;

public class testeVetorString {
   public static void main(String parametros[]){
    String teste[]=new String[10];
    teste[0]="20";
    System.out.println(3+Integer.parseInt(teste[0]));
   }
}

Mas tem um problema vc não pode passar na entrada por exemplo caracteres sem ser número.(o código abaixo possibilita a entrada de dados desta forma:1,2,3).
o próprio main deve ter algum tratamento de entrada, pq ele separa por espaço 1 2 3 seriam tres argumentos e 123 apenas um argumento;

Nesse caso seria interessante usar um método do tipo split (esse recurso tem no javascript eu acho que deva ter no JAVA).
Dei uma pesquisada tanto o nome quanto a forma de usar são as mesmas.
segue código usando método split.


Código: Selecionar tudo
package Modulo3JavaStart;

public class testeVetorString {
   public static void main(String parametros[]){
    String teste[]=new String[10];
    teste[0]="20,10,30,40";
    String[] nova= teste[0].split(",");
    System.out.println(3+Integer.parseInt(nova[0]));
   }
}
JHS6544
 
Mensagens: 106
Data de registro: Qua Mar 24, 2010 10:47 am


Retornar para Exercícios - Módulo 03 - Vetores (Arrays) e Entrada de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante