Type mismatch: cannot convert from void to int

8 respostas
alissonlw

Eae galera tudo certo? como podem ver sou novo aqui…
Sou bem inexperiente em java to só no começo ainda e queria tirar essa dúvida, segue tudo ai abaixo certinho…

  1. Crie uma classe que contenha umm método para receber um valor
    informado pelo usuário e mostre a tabuada do mesmo.
import javax.swing.JOptionPane;

public class um {

public static void main(String[] args) {

String t = JOptionPane.showInputDialog(Digite um número);

int digitado = Integer.parseInt(t);

tabuada("");

}

public static String tabuada(String texto){

int cont = 0;

while (cont<11){

int n = 0;

int multiplicacao = (n*1);

int resultado = Integer.parseInt(null,multiplicacao);

int total = System.out.println(resultado);

}

return tabuada("");

}

}

OBS: A linha em negrito é aonde aparece o ERRO do TÍTULO.
Agradeço desde já!

8 Respostas

drsmachado

Primeiro, http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor.

O erro está ali por que O RESULTADO DO MÉTODO System.out.println É VOID.

drsmachado

Aliás, além disto, teu código tem algumas incoerências
1 - Por quê, se tratando de uma tabuada, você atribui 0 ao valor de n, dentro do while?
2 - Qual o contador? Se é o cont, por que ele não entra no while e por que ele não é incrementado?
3 - O que faz esse resultado ali?

alissonlw

drsmachado:
Aliás, além disto, teu código tem algumas incoerências
1 - Por quê, se tratando de uma tabuada, você atribui 0 ao valor de n, dentro do while?
2 - Qual o contador? Se é o cont, por que ele não entra no while e por que ele não é incrementado?
3 - O que faz esse resultado ali?

Pois é vem a questão, sou bem inexperiente na área, só percebo o que falta quando aparecem os erros ou executo e não da certo…
A lógica é um método pronto no qual pro valor que o usuário digitar, ele exiba a tabuada… Mais ta meio complicado…
Agradeço a compreensão.

nel

alissonlw:
drsmachado:
Aliás, além disto, teu código tem algumas incoerências
1 - Por quê, se tratando de uma tabuada, você atribui 0 ao valor de n, dentro do while?
2 - Qual o contador? Se é o cont, por que ele não entra no while e por que ele não é incrementado?
3 - O que faz esse resultado ali?

Pois é vem a questão, sou bem inexperiente na área, só percebo o que falta quando aparecem os erros ou executo e não da certo…
A lógica é um método pronto no qual pro valor que o usuário digitar, ele exiba a tabuada… Mais ta meio complicado…
Agradeço a compreensão.

Vou dar um conselho, para evitar ficar na tentativo e erro toda hora, faz comece a fazer o famoso “teste de mesa”.
Dê uma pesquisa, você escreve em um papel o fluxo de seu algoritmo e veja se o resultado será o esperado.

Se deixar 100% as custas do compilador, podes dificultar o teu aprendizado.
Abraços!

A
alissonlw:
Eae galera tudo certo? como podem ver sou novo aqui... Sou bem inexperiente em java to só no começo ainda e queria tirar essa dúvida, segue tudo ai abaixo certinho..

1. Crie uma classe que contenha umm método para receber um valor
informado pelo usuário e mostre a tabuada do mesmo.

import javax.swing.JOptionPane;
public class um {
public static void main(String[] args) {
String t = JOptionPane.showInputDialog("Digite um número");
int digitado = Integer.parseInt(t);
tabuada("");
}
public static String tabuada(String texto){
int cont = 0;
while (cont<11){
int n = 0;
int multiplicacao = (n*1);
int resultado = Integer.parseInt(null,multiplicacao);
int total = System.out.println(resultado);
}
return tabuada("");
}
}

OBS: A linha em negrito é aonde aparece o ERRO do TÍTULO.
Agradeço desde já!

Veja, sua lógica é muito melhorável, apenas fiz o seu programa compilar não mudei praticamente nada. Mas trabalhe fundamentalmente na lógica, ok? Dê uma olhada no código abaixo que está funcionando:
public class Tabuada {

	public static void main(String[] args) {
		String numeroDigitado = JOptionPane.showInputDialog("Digite um número"); // Nomes sugestíveis para as variáveis
		final int digitado = Integer.parseInt(numeroDigitado); // "final" Variável não pode receber valor sem ser este
		tabuada(digitado);
	}

	public static void tabuada(int valorDigitado) {
		  int cont = 1;
		while (cont < 11) {
			
			int n = cont;
			int multiplicacao = (n * valorDigitado);
		
			 System.out.println(multiplicacao);
			 cont = cont + 1;
		}
		}
	}
drsmachado

É por isso que eu defendo tanto a bendita lógica.
A maioria pensa “opa, vou aprender uma linguagem e sair desenvolvendo”, não é assim.
Lógica é fundamental.

drsmachado

Para que tanto fru fru?

public class Tabuada {
    public static void main(String args[]){
        String numeroDigitado = JOptionPane.showInputDialog("Digite um número");
        for (int e = 0; e <= 10; e++){
            System.out.println((Integer.parseInt(numeroDigitado)*e));
        }
    }
}
alissonlw

drsmachado:
É por isso que eu defendo tanto a bendita lógica.
A maioria pensa “opa, vou aprender uma linguagem e sair desenvolvendo”, não é assim.
Lógica é fundamental.

Talvez seria porque e curso BSI, estou na 3ª fase ainda, isso é uma das questões do meu trabalho final só que to meio apurado, e tava me debatendo nessa…
E com relação a lógica tenho o livro Java 7, não li ele todo ainda obviamente… Vou acompanhando juntamente as aulas…
E eu não pensei vou aprender uma linguagem ok? =]
Agradeço suas “dicas”, mais ignorância não leva a lugar nenhum… Se pra você é uma dúvida tão pequena e veio apenas me criticar, ficaria grato de que não opinasse, aceito críticas construtivas sim, mais não alguém que só pra si aquilo é minímo q vai ser pros outros tbm. (y)
Vlw ai andré, problema resolvido! :wink:

Edit: Vi seu post só depois der postar isso, pois estava escrevendo… Eis a questão não é frufru!

Quero um método retornável o void…
E um não retornável, apenas para executar o calculo.
Então no void, peço a entrada do usuário apenas e chamo o método sem retorno criado para o cálculo…

Criado 8 de junho de 2011
Ultima resposta 8 de jun. de 2011
Respostas 8
Participantes 4