Pessoal, algum de vós percebe de programação em Java?
Preciso de ajuda http://www.amigosdotuning.com/forum/images/smilies/new/sadface.gif Estou a estudar para exame e não percebo nada disto http://www.amigosdotuning.com/forum/images/smilies/new/sadface.gif http://www.amigosdotuning.com/forum/images/smilies/new/sadface.gif
Mr. Brightside
04-08-2008, 21:43
Podias ser mais específico no teu problema?
Estudo em Aveiro e tenho a disciplina de Programação I que consiste em:
Algoritmia; Estrutura de um programa em JAVA; Elementos básicos da linguagem; Regras de formação de identificadores válidos em JAVA; Armazenamento da informação: Tipos de dados predefinidos; Constantes e variáveis; Expressões e operadores; Instruções de entrada e de saída de dados; Estruturas de controlo: Instruções decisórias. Instruções repetitivas; Funções; Tipo agregado (array): Definição, propriedades e utilização;
Neste momento estou a tentar fazer fazer um programa para converter milhas em quilómetros:
"Pretende-se escrever um programa que dada uma distância expressa em milhas, que é lida do teclado, converte-a para quilómetros e escreve-a no monitor. A fórmula de conversão é QUILOMETROS = 1.609 * MILHAS.*/
import static pt.ua.prog.WIO.*;
public class ex1A1
{
public static void main(String[] args)
{
double kilometros, milhas;
printf("Distância em milhas é: ");
milhas=readDouble();
do
{
kilometros = (1.609*milhas);
}
while(milhas<0.0);
printf("Distância em quilómetros é: ", kilometros);
println();
}
"
O programa não corre e, sinceramente, não consigo perceber porquê :(
Mr. Brightside
04-08-2008, 21:54
Estás a fazer um ciclo do-while em que não tens nada que altere a condição. E além disso, é suposto essa condição ser sempre falsa (não faz sentido uma distância negativa).
Olha, será que podes ser mais explícito?
O que fiz foi seguindo o que está num acetato da matéria teórica facultado pelo professor, este:
http://i54.servimg.com/u/f54/12/14/79/93/prog10.jpg
AliFromCairo
04-08-2008, 22:24
Boas, tens de passar o código que lê os dados do utilizador para dentro do bloco do...while. Tal como está explicado nessa imagem, a ideia é ficares em ciclo até o utilizador introduzir um valor positivo para a distância. Em seguida, basta utilizares a fórmula.
Obrigada pela vossa ajuda, mas mesmo assim estou a leste :(
Mr_Miguel
04-08-2008, 22:49
Vamos lá analisar isso então. O que está no acetato é isto:
repetir {
escrever mensagem no ecrã
ler as MILHAS
} enquanto MILHAS < 0.0
KILOMETROS = 1.609 * MILHAS
O que corresponde, em Java, a:
do {
printf("Distância em milhas é: ");
MILHAS = readDouble();
} while (MILHAS < 0.0);
KILOMETROS = 1.609 * MILHAS;
Por outras palavras, não estás a fazer o que te pediram.