Boa Noite, gostaria de pedir ajuda para passar esse código em portugol para java
var
c: inteiro
nome:vetor[1..2]de caractere
h: vetor[1..2]de real
p: vetor[1..2]de real
mh: real
mp: real
aux, aux2: inteiro
inicio
enquanto (c < 2) faca
c <- c + 1
escreva("NOME: ")
leia(nome[c])
escreva("PESO: ")
leia(p[c])
escreva("ALTURA: ")
leia(h[c])
limpatela
Se(h[c] > mh) entao
mh <- h[c]
aux <- c
Se(p[c] > mp) entao
mp <- p[c]
aux2 <- c
fimse
fimse
fimenquanto
escreval("O maior peso é de ", nome[aux2], " pesando: ", mp, "Kg")
escreval("A maior altura é de ", nome[aux], "medindo: ", mh, "m")
fimalgoritmo
desde já eu agradeço muito mesmo.Obrigado
E qual a sua dificuldade em específico? Já tentou? Se sim, mostre seu código, e onde teve dificuldade.
Só postar o que quer que seja feito dá a impressão que você quer quer a gente faça pra você, o que não é legal.
Abraço.
Você esta 100% correto desculpe por ser tão rude.
public static void main(String[] args) {
// 1 posição
int c;
String[] nome = new String[1];
Double[] h = new Double[2];
Double[] p = new Double[2];
float mh;
float mp;
int aux, aux2;
Scanner console = new Scanner( System.in );
c = Integer.parseInt(console.nextLine());;
while (c < 2) {
System.out.println)(c <- c + 1);
}
System.out.print("NOME: ");
nome[c] = Integer.parseInt(console.nextLine());
System.out.print("PESO: ");
p[c] = Double.parseDouble(console.nextLine());
System.out.print("ALTURA: ");
h[c] = Double.parseDouble(console.nextLine());
mh = Float.parseFloat(console.nextLine());
mp = Float.parseFloat(console.nextLine());
aux = Integer.parseInt(console.nextLine());
aux2 = Integer.parseInt(console.nextLine());
if (h[c] > mh) {
if ( mh <- h[c])
if (aux <- c)
if (p[c] > mp) {
if (mp <- p[c])
if (aux2 <- c))
}
}
System.out.println("O maior peso é de "+ nome[aux2]+ " pesando: "+ mp+ "Kg");
System.out.println("A maior altura é de "+ nome[aux]+ "medindo: "+ mh+ "m");
}
}
esse e meu código (código que estou tentando fazer), bem esta dando erro em
System.out.println)(c <- c + 1);
também em nome[c] = Integer.parseInt(console.nextLine());
é também
if (aux2 <- c))
Por favor peço a ajuda de vocês desde já, muito obrigado.
Se você souber, grave as informações em um arquivo (documento) ou em um banco de dados.
Em SQL vc pode usar Max (Count)
Dê uma pesquisada sobre
depois é só retornar o valor
vlew
como assim poderia me explicar melhor ? pf
Ao invés de tentar converter o código linha por linha de forma idêntica, você precisa entender a lógica do algoritmo e recriá-la em Java, fazendo adaptações.
Pelo que entendi, esse algoritmo compara o peso e altura de 2 pessoas, determinando qual pesa mais e qual é mais alta, certo?
Essa parte abaixo não está clara. O que esse código faria?
while (c < 2) {
System.out.println)(c <- c + 1);
}
O java não tem um operador <-, então você precisa usar um operador equivalente ( que seria o igual = ).
Abraço.
hum… certo fiz a modificação e fico assim
public static void main(String[] args) {
// 1 posição
int c;
String[] nome = new String[1];
Double[] h = new Double[2];
Double[] p = new Double[2];
double mh;
double mp;
int aux, aux2;
Scanner console = new Scanner( System.in );
c = Integer.parseInt(console.nextLine());
while (c < 2) {
System.out.println(c = c + 1);
}
System.out.print("NOME: ");
nome[c] =console.nextLine(); // String
System.out.print("PESO: ");
p[c] = Double.parseDouble(console.nextLine());
System.out.print("ALTURA: ");
h[c] = Double.parseDouble(console.nextLine());
mh = Double.parseDouble(console.nextLine()); // double
mp = Double.parseDouble(console.nextLine()); // double
aux = Integer.parseInt(console.nextLine());
aux2 = Integer.parseInt(console.nextLine());
if (h[c] > mh) {
if ( mh = h[c])
if (aux = c)
if (p[c] > mp) {
if (mp = p[c])
if (aux2 = c))
}
}
System.out.println("O maior peso é de "+ nome[aux2]+ " pesando: "+ mp+ "Kg");
System.out.println("A maior altura é de "+ nome[aux]+ "medindo: "+ mh+ "m");
}
}
mais agora as unicas linhas que estão dando erro são
if ( mh = h[c])
if (aux = c)
E
if (mp = p[c])
if (aux2 = c))
fala que eu estou tentando converter double cannot be converted to boolean e int cannot be converted to boolean o que devo fzer por quer já troquei varias vezes e ainda nada ??
Comparações em Java são feitas com ==, não com =, que é atribuição. Troque
if ( mh = h[c])
por
if ( mh == h[c])
E assim por diante, em toda as comparações.
Abraço.
certo, muito obrigado por essa ajuda com o “==”
public static void main(String[] args) {
// 1 posição
int c;
String[] nome = new String[1];
Double[] h = new Double[2];
Double[] p = new Double[2];
double mh;
double mp;
int aux, aux2;
Scanner console = new Scanner( System.in );
c = Integer.parseInt(console.nextLine());
while (c < 2) {
System.out.println(c = c + 1);
}
System.out.print("NOME: ");
nome[c] =console.nextLine(); // String
System.out.print("PESO: ");
p[c] = Double.parseDouble(console.nextLine());
System.out.print("ALTURA: ");
h[c] = Double.parseDouble(console.nextLine());
mh = Double.parseDouble(console.nextLine()); // double
mp = Double.parseDouble(console.nextLine()); // double
aux = Integer.parseInt(console.nextLine());
aux2 = Integer.parseInt(console.nextLine());
if (h[c] > mh) {
if ( mh == h[c])
if (aux == c)
if (p[c] > mp) {
if (mp == p[c])
if (aux2 == c))
}
}
System.out.println("O maior peso é de "+ nome[aux2]+ " pesando: "+ mp+ "Kg");
System.out.println("A maior altura é de "+ nome[aux]+ "medindo: "+ mh+ "m");
}
}
ele fico assim agora o unico erro que tem agora e “}” , que e
if (aux2 == c))
} _--------- ESSAS 2 BARRAS
}
agora só isso da erro e eu ja tirei coloquei mais continua com erro poderia me ajudar
?
Você está fechando blocos com }, mas aparentemente não os abriu anteriormente. E não tem nenhum comando antes desses } Para que esses ifs encadeados que não fazem nada?
Você está tentando programar por tentativa e erro, quando deveria entender o que o código faz e adaptá-lo para Java, não simplesmente traduzir linha por linha. Foi isso que te disse anteriormente.
Abraço.
Primeiro vamos indentar o algoritmo em portugol pra ficar mais claro de entender o que ele faz:
var
c: inteiro
nome: vetor[1..2] de caractere
h: vetor[1..2] de real
p: vetor[1..2] de real
mh: real
mp: real
aux, aux2: inteiro
inicio
enquanto (c < 2) faca
c <- c + 1
escreva("NOME: ")
leia(nome[c])
escreva("PESO: ")
leia(p[c])
escreva("ALTURA: ")
leia(h[c])
limpatela
Se (h[c] > mh) entao
mh <- h[c]
aux <- c
Se (p[c] > mp) entao
mp <- p[c]
aux2 <- c
fimse
fimse
fimenquanto
escreval("O maior peso é de ", nome[aux2], " pesando: ", mp, "Kg")
escreval("A maior altura é de ", nome[aux], "medindo: ", mh, "m")
fimalgoritmo
Agora fica bem mais fácil de entender e reescrever um código em outra linguagem.
Abaixo um exemplo em Java:
import java.io.PrintStream;
import java.util.Scanner;
public class Programa {
/**
* Ponto de entrada do programa
*/
public static void main(String[] args) {
try {
Programa algoritmo = new Programa();
algoritmo.inicio();
} catch (Throwable t) {
t.printStackTrace();
}
}
/**
* Aqui é o início da execução do algoritmo
*/
public void inicio() {
int c = -1;
String[] nome = new String[2];
double[] h = new double[2];
double[] p = new double[2];
double mh = 0;
double mp = 0;
int aux = 0;
int aux2 = 0;
// c é usado pra acessar as posições dos vetores
// em Java a primeira posição do vetor é 0, a segunda é 1 e assim por diante
while (c < 1) {
c = c + 1;
escreva("NOME: ");
nome[c] = leiaString();
escreva("PESO: ");
p[c] = leiaDouble();
escreva("ALTURA: ");
h[c] = leiaDouble();
limpatela();
if (h[c] > mh) {
mh = h[c];
aux = c;
if (p[c] > mp) {
mp = p[c];
aux2 = c;
}
}
}
escreval("O maior peso é de " + nome[aux2] + " pesando: " + mp + " Kg");
escreval("A maior altura é de " + nome[aux] + " medindo: " + mh + " m");
}
/*
* Abaixo estão alguns métodos para deixar o código mais legível
*/
private final Scanner entrada = new Scanner(System.in);
private final PrintStream saida = System.out;
private void escreva(String mensagem) {
saida.print(mensagem);
}
private void escreval(String mensagem) {
saida.println(mensagem);
}
private double leiaDouble() {
return Double.parseDouble(entrada.nextLine());
}
private String leiaString() {
return entrada.nextLine();
}
private void limpatela() {
// Java não possui uma forma nativa de limpar a tela
// no Windows dá pra fazer a gambiarra abaixo
// isso não funciona dentro de IDEs, só rodando no prompt de comando
String nomeSistema = System.getProperty("os.name").toLowerCase();
if (nomeSistema.contains("windows")) {
try {
ProcessBuilder processBuilder = new ProcessBuilder("cmd", "/c", "cls");
processBuilder.inheritIO();
Process process = processBuilder.start();
process.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}