Como transformar um inteiro ou char não digitado em JOptionPane, no inteiro 1

7 respostas
M

Realmente, esgotei minhas tentativas, se alguém aqui puder ajudar, desde já agradeço.
segue o programa:

Escreva uma aplicação de console que receba um número inteiro n e um outro valor numérico
p que representa o passo da contagem (valor do incremento) imprimindo uma contagem de 0
ate n (se possivel) de p em p. Por exemplo, se fornecido 10 e 3, deverão ser exibidos: 0, 3, 6 e
9. Caso o segundo argumento não seja fornecido, assume-se que p = 1 (contagem simples).*/

//##################################################################################################

import javax.swing.*;

public class Exercicio4 {
private static String x, y; //recebem valores como caracteres e passam para n e p como inteiros
private static int n, p, a; //n,p sao inteiros do pop up e a inteiro contador

public static void main(String args[])
{ //incicia main
	//entrada dos Dados
	x = (JOptionPane.showInputDialog("Entre com o valor inteiro: \n"));//pop up
	try	
	{
		n = Integer.parseInt(x);/*utiliza o Integer.parseInt quando quer obter um
		                          int a partir de um String*/
	}
	catch (NumberFormatException e)
	{
		System.out.println("Entrada Invalida...");
	}	

	y = (JOptionPane.showInputDialog("Entre com o segundo valor inteiro(passo): \n"));//pop up
	try	
	{
		p = Integer.parseInt(y);
		{
			if(p==0)//eu coloquei esses ifs, dentro das chaves que ja haviam
				p=p+1;//o "0=zero", no java vale o null
		}
	}
	catch (NumberFormatException e)
	{
		System.out.println("Entrada Invalida...");
		
	}
	//impressao contagem 0 até n
	//fim da Entrada dos Dados
	
	a=0;	
	while (a<=n)
	{
		System.out.println(a);
		a=a+p;
	}
	//fim contagem
} //fim main

}
:?:

7 Respostas

Andre_Brito
p = p + 1;

Tente

p = 1;

Onde está o erro?

M

o erro, é que quando o usuário digita enter, ao invés de um valor inteiro ou qualquer outra tecla…surge uma sequência de zeros continua que se eu deixar vai até esgotar a memória.

Andre_Brito

Provavelmente o p não está recebendo o valor.
Antes de imprimir o “a”, imprima o “p”, fora do while, para ver o que acontece.

M

não, mas obrigado pelo retorno, tiver mais alguma sugestão, será aguardada com interesse por nós! :cry:

Andre_Brito

Não o que?
Tá aí... Não é a política do forum dar o código de trabalinhos da faculdade pronto, mas de qualquer forma...

import javax.swing.*;

public class Exercicio4 {
	private static String x, y; //recebem valores como caracteres e passam para n e p como inteiros
	private static int n, p, a; //n,p sao inteiros do pop up e a inteiro contador
	
	public static void main(String args[]) {
		// Le o primeiro
		x = (JOptionPane.showInputDialog("Entre com o valor inteiro: \n"));//pop up
		try {
			n = Integer.parseInt(x);
		} catch (NumberFormatException e)
			{	System.out.println("Entrada Invalida...");
		}
		
		// Le o segundo
		y = (JOptionPane.showInputDialog("Entre com o segundo valor inteiro(passo): \n"));
		try {
			p = Integer.parseInt(y);
			if(p == 0) {
				p = 1;
			}
		} catch (NumberFormatException e) {
			System.out.println("Entrada Invalida...");
		}
	
		// Impressao
		a = 0;
		while (a <= n) {
			System.out.println(a);
			a = a + p;
		}
	} //fim main
}

Saída:


0
3
6
9

M

olha, nós estavamos gostando de você, só que você se equivocou, para nós, é um trabalhão da Faculdade, não “trabalinho”, valorizamos muito o que estamos fazendo, aliás o correto na lingua portuguesa era você screver “trabalhinho”, e se pedi alguma coisa absurda, então não estou em condição de frequentar esse forum, tão sofisticado, e estou disposto inclusive a pagar por uma ajuda, que demonstre comtência justificável, o que nós não vimos em você até agora.

de qualquer forma agradeço bastante, afinal é um domingo, não é qualquer um que ajuda outro sem interesse, ou no intuito de se engrandecer em detrimento de outros.

sei que você não vai acreditar, mas, vou sair desse site, não vamos usar seu “super mega hipper ultra código”, todos concordaram comigo aqui, e continuaremos ralando aqui, mas no maior clima de cooperação, amizade, cerveja, e batatas fritas, e pra sua satisfação eu creio, você nunca mais me verá nesse site!

se conhecer alguém que entenda de cara um “trabalhinho” destes de primeira tentativa, mande entrar em contato comigo, que talvez façamos negócios, o que não é o seu caso!

continue fazendo o que voce me mostrou que sabe fazer melhor aqui, tem gente que até gosta disso!
Adeus GUJ. :!:

1

ViniGodoy

O que eu vejo nesse tópico foi uma reação exagerada de ambas as partes. O André, que se excedeu ao menosprezar o trabalho do markony (talvez por causa da resposta “não”, sem qualquer tipo de explicação) e o markony, que reagiu de maneira exagerada a resposta, partindo para ofensas pessoais e, pior, atribuindo ao fórum todo a responsabilidade das atitudes de apenas um usuário.

Realmente, não recomendamos dar trabalhos de faculdade de mão beijada. Isso atrapalha os estudos. Também desaconselhamos estudantes que chegam aqui pagando para terem seus trabalhos feitos. A ajuda profissional que oferecemos é a troca de conhecimento, não a simples execução de tarefas. Estamos realmente interessados que você vá bem em suas aulas, que seja aprovado, mas que aprenda o conteúdo. Não estou dizendo que você queria tudo pronto, mas você ficaria impressionado com a quantidade de estudantes pedindo coisas prontas que temos por aqui, o que explica a reação do colega quando lhe pareceu que era mais uma situação dessas se repetindo.

Você pode tirar duas dúvidas com seu professor, aqui no fórum ou em livros. Estamos dispostos a ajuda-lo.
Só, por favor, procure não responsabilizar todo o GUJ pela atitude de um de seus usuários, e leia as regras básicas do fórum antes continuar postando:
regras do fórum: http://www.guj.com.br/posts/list/39020.java
sobre como postar código fonte: http://www.guj.com.br/posts/list/50115.java
sobre como proceder antes de postar: http://www.guj.com.br/posts/list/15777.java

Os três links acima encontram-se pinados no fórum de “java básico”.

Criado 5 de outubro de 2008
Ultima resposta 10 de nov. de 2008
Respostas 7
Participantes 3