Iniciante em Java com dúvidas

19 respostas
iew

Pessoal, estou começando com Java agora e de uma lista de 28 exercicios tenho alguns que não consigo fazer e gostaria de uma ajuda se for possivel:
1)Faça um programa que apresente os resultados das potências de 3, variando do expoente
0 até o expoente 15.
2)Faça um programa que apresente os quadrados dos números inteiro de 15 a 200. Eu consigo fazer para calcular o quadrado de um numero mas não consegui para fazer entre um intervalo.

class Exe2 {
    int a;
    void set_quadrado (int x){
          a = (x*x);   
    }
 }
class quadrado{
   public static void main(String args[]){
      quadrado y;
      y=new quadrado();
      y.set_quadrado();
      }
}

Grata,
Iew

19 Respostas

Luiz_Augusto_Prado

vc tem que buscar algo sobre laços

for(int inicio=0; inicio<MeuLimite; inicio++)

{

meu code aqui…

}
do

{

limite++

meu code aqui…

}while( limite<determinado )
while(x<10)

{

meu code aqui…

}

estude sobre a classe Math

se tiver usando o netbeans escreve:

Math.[aperte a teclas (trl + espaço) ]

essa tecla faz aparecer as opções da classe Math

Valder_Olmo_Correa

iew, faça o que o Luiz Augusto disse, estudo laços de repetição.

Mas, como sempre fui ajudado nesse fórum, sinto-me na obrigação de ajudar também. Porém, vou apenas lhe dar o código para se calcular os quadrados. Veja, estou te dando o peixe, mas vê se apredne a pescar, caso contrário, morre de fome :D. Então, o programa para calcular as potências fica por sua conta.

Aí vai o código para os quadrados:

class Quadrado
{
	public static void main(String args[])
	{
		int i, quad;//Declara as variáveis i (contador de looping) e quad(Que receberá os quadrados de i)
		for(i=15;i<=200;i++) // contador para variar i de 15 até 200
		{
			quad = i*i; // quad recebe o valor de i ao quadrado
			System.out.println("O quadrado de " + i + " é " + quad); // imprime os quadrados
		} 
	}
}

O código para se calcular as potências fica por sua conta, é só você seguir esse mesmo raciocínio.

Qualquer coisa, grita !

ViniGodoy

Oi! E para deixar o código colorigo e formatado, como fez o Valder, use a tag code.
Se ainda não aprendeu esse recurso do fórum, leia esse artigo:
http://www.guj.com.br/posts/list/50115.java

Ele explica. Aí fica mais fácil ainda da gente te ajudar! :wink:

thegoergen

Use o CODE para colocar código, como o ViniGodoy falou.

A classe Math tem o método pow, que calcula a potência de qualquer base em qualquer expoente…

Utilize laços, particularmente prefiro o for:

for (int i = MEU_INICIO_DE_INTERVALO; i < MEU_FINAL_DO_INTERVALO; i++){ // Calculo as potências }

iew

Valeu gente, vou tentar fazer …Obrigada pelas dicas!

iew
thegoergen

iew:

Pessoal, veja se está correto o que eu fiz, eu segui as dicas e usei o metodo [color=red]pow[/color] conforme voces me sugeriram:

class G2Exercicio7{
  	public static void main(String arg[]){
		int b=3; //esta é a variável para minha base
        int e; //esta é a variável para o expoente
		for (e=1; e<=15; e++){ //o intervalo para o expoente
            double pow = Math.pow(b,e);
                    System.out.println("O expoente de:"+b+" evelado a:" +e+ " é "+pow);
                }
    
    }

}

Isso mesmo… muito bom.

iew

Obrigada, estou apanhando mas vou aprender, não quero que façam o exercicio por mim pois senão nao aprendo. Mas como sou nova em java tenho muitas duvidas, não conheço a linguagem e tem horas que nem sei por onde começar …rs

M

só fiz uma alteração no System.out para ficar melhor a leitura…

esperto ter lhe ajudado… o exercício parece estar correto…

class Expoente{

public static void main(String arg[]){

int b=3; [color=green]//esta é a variável para minha base  [/color]

int e; [color=green]//esta é a variável para o expoente   [/color]

for (e=1; e<=15; e++){ [color=green]//o intervalo para o expoente[/color]

double pow = Math.pow(b,e);

[color=red]System.out.println(b+" elevado a : " +e+ " é "+pow);   [/color]

}
}

}

iew
ViniGodoy

O seu println tem que ficar dentro do for, senão ele só vai imprimir o último número da sequencia.

Curiosidade:
Também tem como calcular um número da sequencia de fibonacci assim:
http://www.guj.com.br/posts/list/57712.java#303559

M

eu fiz assim… será q está certo???

class Fibonacci{ public static void main (String arg[]){ int ant=0, atual=1; int prox; prox=ant+atual; System.out.println(prox); for (int i=0; i<15; i++){ prox=ant+atual; ant=atual; atual=prox; System.out.println(prox); } } }

ViniGodoy

Você inicia calculando prox com os mesmos valores e imprime 2 vezes. Pq?

Podemos eliminar o calculo inicial assim:

class Fibonacci{   
  public static void main (String arg[]){
     int anterior=0, atual=1;   
      for (int i=0; i<15; i++){
        System.out.println(atual);

        int proximo=anterior+atual;
        anterior=atual;
        atual=proximo;
      }
   }   
}
iew

ViniGodoy:
O seu println tem que ficar dentro do for, senão ele só vai imprimir o último número da sequencia.

Curiosidade:
Também tem como calcular um número da sequencia de fibonacci assim:
http://www.guj.com.br/posts/list/57712.java#303559

[quote]
Valeu Vini, já corrigi, obrigada.

M

legal, é esses detalhes que estou tentando aprender… a maneira correta q o java trabalha…

assim podemos elimar varias linhas e otimizar mais o software…

obrigado pela dica… :smiley:

iew

Marcaobu:
legal, é esses detalhes que estou tentando aprender… a maneira correta q o java trabalha…

assim podemos elimar varias linhas e otimizar mais o software…

obrigado pela dica… :D

[quote]
E fica bem mais fácil de entender…rs
Valeu gente, pela força, agora vou tentar fazer os ultimos 9 exercicios, tem até contagem de gãos em tabuleiro de xadrez…é mole!!! Rs…
bjs…

Valder_Olmo_Correa

Pessoal, não, não !!!

Não falem para ela fazer o exercício das potências usando a classe Math, por favor. O professor pode não considerar, pois ela ainda está aprendendo, portanto, deve praticar a lógica da programação em Java.

iew, tá bom, você venceu, vou te passar o código da classe para se calcular as potências de 3 de 0 até 15, mas estude o código bem, tente entender, nele há um looping dentro de outro looping. Tente entender o por que disso:

Aí vai:

class Potencia
{
	public static void main(String args[])
	{
		int i,j;
		double pot;
		pot = 3;
		
		System.out.println("3 elevado a 0 é 1");
		for (i=1;i<=15;i++)
		{
		   for(j=2;j<=i;j++)
		   {
		   	   pot = 3*pot;
		   }	
		   System.out.println("3 elevado a " + i + " é " + pot);
	       pot = 3;			
		}
	}
}

Com este código dá para você ver bem o processo de loopings encadeados, é um bom exercício para se entender. Pergunte ao seu professor se ele aceita que seja usado o método pow da classe math, se sim, ok, se não, tente enteder o código que lhe passei.

Espero ter ajudado.

iew

Valder Olmo Corrêa:
Pessoal, não, não !!!

Não falem para ela fazer o exercício das potências usando a classe Math, por favor. O professor pode não considerar, pois ela ainda está aprendendo, portanto, deve praticar a lógica da programação em Java.

iew, tá bom, você venceu, vou te passar o código da classe para se calcular as potências de 3 de 0 até 15, mas estude o código bem, tente entender, nele há um looping dentro de outro looping. Tente entender o por que disso:

Aí vai:

class Potencia
{
	public static void main(String args[])
	{
		int i,j;
		double pot;
		pot = 3;
		
		System.out.println("3 elevado a 0 é 1");
		for (i=1;i<=15;i++)
		{
		   for(j=2;j<=i;j++)
		   {
		   	   pot = 3*pot;
		   }	
		   System.out.println("3 elevado a " + i + " é " + pot);
	       pot = 3;			
		}
	}
}

Com este código dá para você ver bem o processo de loopings encadeados, é um bom exercício para se entender. Pergunte ao seu professor se ele aceita que seja usado o método pow da classe math, se sim, ok, se não, tente enteder o código que lhe passei.

Espero ter ajudado.

[quote]
Mas o que eu fiz com o método pow esta correto não é?

Não entendi seu 2o. for mas não me responda ainda, vou tentar entender.
Me aguardem …rs

Valder_Olmo_Correa

Sim, iew, o que você fez com a classe math está certinho. É que eu acho que seu profeesor quer mesmo é que vocês pratiquem a lógica de programação mesmo, sem usar as classes prontas do Java, que são muitas. Dessa forma vocês pegam uma boa prática de programação para resolverem outros problemas mais complicados. Esse é o intuíto desses tipos de exercícios.

Mas tente entender o segundo looping, faça uma simulação dele no papel (teste de mesa), assim você pode perceber melhor o que está sendo feito.

Qualquer coisa, grite ! :smiley:

Criado 28 de março de 2008
Ultima resposta 29 de mar. de 2008
Respostas 19
Participantes 6