não compila

5 respostas
Samuel_135

Olá amigos, gostaria da ajuda de vocês, pois não consigo descobrir o erro que estou cometendo neste pequeno trecho de código. Meu objetivo é imprimir quantas vezes forem necessárias o nome na tela. Está acusndo somente um erro na hora de compilar, mas não consigo desvendar este mistério!
Att,
Samuel

import java.util.Scanner;
public class InumerasVezes{                                              // dando 1 erro em algum lugar
	public static void main(String[] args){
	  Scanner le = new Scanner(System.in);
	  int i, quantidade;
	  String nome;
	  System.out.printf("\n\t***\"Programa que Exibi Diversas Vezes o Nome\"***");
	  System.out.printf("\n\tDigite um nome:..................");
	  nome = le.next();
	  System.out.printf("\tDigite a qtde. de repeticoes:....");
	  quantidade = le.nextInt();
	  for(i=0; i<=quantidade; i++){
	  System.out.printf("\n\t %s ", i);
         }
     }
}

5 Respostas

V

Samuel, testei o seu código aqui e esta compilando normalmente…

Você esta salvando o nome do arquivo igual ao nome da sua classe?

Outra coisa também, aí você quer digitar o numero de vezes para aparecer o nome, mas você esta pedindo para imprimir no final somente a quantidade ‘i’.

System.out.printf("\n\t %s ", i);

Então você precisa colocar o nome

System.out.printf("\n\t %s ", nome);

Coloque o erro que esta dando quando você compila caso não resolva.

Samuel_135

Então, Vitor, compilei novamente e funcionou normalmente, acho que estava esquecendo de algum detalhe nome do arquivo mesmo pois salvei novamente como o nome exatamente igual ao da classe e rodou.
Gostaria de mostrar um outro trecho de código que estou fazendo também e se possívelme auxiliar serei muito grato:

import java.util.Scanner;

public class SoPares{

public static void main(String[] args){

Scanner le = new Scanner (System.in);

int i, num;

String resp;

do{

System.out.printf("\tDigite um numero:");

num = le.nextInt();

for(i=0; i<=num; i+=2)

System.out.printf("\t %d", i);

System.out.printf("\n\tcontinuar (s/n)");

resp = le.next();

} while(resp == s);         //erro

}

}

O problema aí é que queria que esta rotina do (s/n) funcionasse, mas está dando apenas um erro e não consigo identificar. O erro que está sendo apontado se refere ao sinal == dentro do while, diz que não é compatível…

M

Você deve usar o método equals da classe String para realizar comparações. A condição do while seria algo como:

.....
} while (resp.equals("s"));
Samuel_135

Mutíssimo obrigado, amigo. Fiquei muito contente ao ver meu código funcionando, valeu!!
:smiley: :smiley:

Luca

Olá

Isto é uma notícia?

Por favor leia as regras de uso do forum.

[]s
Luca

Criado 8 de fevereiro de 2009
Ultima resposta 8 de fev. de 2009
Respostas 5
Participantes 4