alguém sabe como fazer algumas questões do capitulo 8 do livro JAVA como programar, de Deitel??? tipo, eu tô tentando e o Bluej soh acusa erros! :oops: [color=“darkred”][/color]
Capitulo 8 de JAVA, como programar..... Deitel
4 Respostas
Opa cara, boa noite e bem vindo!
Aqui no fórum é aconselhável que coloque dúvidas específicas, sobre um exercício específico. Quando fize-lo, tente detalhar o seu problema, escrever sobre o que já tentou e não esquecer de postar a exceção que recebe quando tenta executar o programa; assim suas chances de realmente receber alguma ajuda aumenta bastante 
Então, qual sua dúvida?
me desculpe… estou começando a programar agora e estou tendo algumas dúvidas no capitulo 8 de JAVA como programar… tipo… 
Crie uma classe chamada Complex para realizar aritmética com números complexos. Escreva um programa para testar sua classe.
os números complexos têm a forma
realPart + imaginaryPart * i
onde i é raiz quadrada de -1
Utilize variáveis de ponto flutuante para representar os dados private da classe. Forneça um método construtor que ermita que o objeto dessa classe seja inicializado quando ele for declarado. Forneça um construtor sem argumento com valores default caso nenhum inicializador seja fornecido. Forneça métodos public para cada um dos itens seguintes:
a) somar dois números complex: as partes reais são somadas de um lado e as partes imaginárias são somadas de outro.
b) subtrair dois números complex: a parte real do operando direito é subtraída pela parte real do operando esquerdo e a parte imaginária do operando direito é subtraída da parte iaginária do operando esquerdo.
c) Imprimir os números Complex na forma (a,b), onde a é a parte real e b é a parte imaginária.
não quero incomodar ninguém… se alguém ja tiver esse programa feito, gostaria que me mandasse… eu tô tentando ler o livro… mas a leitura dele eh um pouco difícil… se alguém puder me ajudar, eu ficarei muito, muito agradecido… :roll:
Na minha experiência, simplesmente olhar a resposta não vai te ajudar. Se você não conseguiu visualizar a classe a partir dessa descrição, você não vai aprender só vendo como respondi. Dito isso, você mencionou num post anterior que o BlueJ estava acusando alguns erros. Quais? Mostre-nos o código que você escreveu. A idéia não é que outros façam para você, mas sim que eles te empurrem na direção correta. Por favor, não me interprete mal, mas eu: li a questão; sei fazer a questão; mas não sei o que você não entendeu na questão nem os erros que você encontrou. Poste-nos o que você fez e poderemos te ajudar.
Sem mais,
eu fiz um programa para incrementar um segundo
import java.text.DecimalFormat;
public class Time3
{
private int hora;
private int minuto;
private int segundo;
public Time3()
{
setTime( 0, 0, 0 );
}
public Time3( int h )
{
setTime( h, 0, 0 );
}
public Time3( int h, int m )
{
setTime( h, m, 0 );
}
public Time3( int h, int m, int s )
{
setTime( h, m, s );
}
public Time3( Time3 time )
{
setTime( time.getHora(), time.getMinuto(),
time.getSegundo() );
}
public void setTime( int h, int m, int s )
{
setHora( h );
setMinuto( m );
setSegundo( s );
}
public void setHora( int h )
{
hora = ( ( h >= 0 && h < 24 ) ? h : 0 );
}
public void setMinuto( int m )
{
minuto = ( ( m >= 0 && m < 60 ) ? m : 0 );
}
public void setSegundo( int s )
{
segundo = ( ( s >= 0 && s < 60 ) ? s : 0 );
}
public int getHora()
{
return hora;
}
public int getMinuto()
{
return minuto;
}
public int getSegundo()
{
return segundo;
}
public void tick()
{
setSegundo( ( getSegundo() + 1 ) % 60 );
if ( getSegundo() == 0 )
incrementMinuto ();
}
public void incrementMinuto ()
{
setMinuto( ( getMinuto() + 1 ) % 60 );
if ( getMinuto() == 0 )
incrementHora ();
}
public void incrementHora ()
{
setHora( ( getHora() + 1 ) % 24 );
}
public String toUniversalString()
{
DecimalFormat twoDigits = new DecimalFormat( “00” );
return twoDigits.format( getHora() ) + ":" +
twoDigits.format( getMinuto() ) + ":" +
twoDigits.format( getSegundo() );
}
public String toString()
{
DecimalFormat twoDigits = new DecimalFormat( “00” );
return ( ( getHora() == 12 || getHora() == 0 ) ?
12 : getHora() % 12 ) + ":" +
twoDigits.format( getMinuto() ) + ":" +
twoDigits.format( getSegundo() ) +
( getHora() < 12 ? " AM" : " PM" );
}
} 
e outro pra testar esse programa, só que não deu muito certo, porque o método tá incrementando o minuto, e não o segundo… =p
public class TestaTime3
{
public static void main (String args[])
{
Time3 t = new Time3 (23,59,58);
System.out.println (t.toUniversalString ());
System.out.println (t.toString ());
for (int i = 0; i < 10; i++)
{
t.tick();
System.out.println (t.toUniversalString ());
System.out.println (t.toString ());
}
for (int j = 0; j < 10; j++)
{
t.incrementMinuto ();
System.out.println (t.toUniversalString ());
System.out.println (t.toString ());
}
for (int h = 0; h < 10; h++)
{
t.incrementHora ();
System.out.println (t.toUniversalString ());
System.out.println (t.toString ());
}
}
}