Kérje be Zsófi Kati és Juli születési évét. Írja ki a neveket udvariassági sorrendbe (előre az idősebbeket)! Segítség! Hogyan kell ezt megírni netBeans el?
így csináltam
package udvariassag;
import java.util.Scanner;
public class Udvariassag {
public static void main(String[] args) {
Scanner be = new Scanner (System.in);
System.out.print("Kérem Zsófi születési évét :");
double a = be.nextDouble();
System.out.print("Kérem Kati születési évét :");
double b = be.nextDouble();
System.out.print("Kérem Juli születési évét :");
double c = be.nextDouble();
String kor = " ";
if (a > b) {
kor = "Kati --> Zsófi ";
}
if (a < b) {
kor = "Zsófi --> Kati ";
}
System.out.printf(kor);
if (a < c) {
kor = "Zsófi --> Juli ";
}
if (a > c) {
kor = "Juli --> Zsófi";
}
System.out.printf(kor);
if (b < c) {
kor = "Kati --> Juli ";
}
if (b > c) {
kor= "Juli --> Kati ";
}
System.out.printf(kor);
} }
igen, mert nem rekurzívan csinálod...
pszeudokód
while (!valtozas) {
valtozas=0
if (adat[n+] < adat[n+1) {csere; valtozas=1}
n++
}
ennyi
3 elemhez totál fölösleges buborékrendezés, főleg ha nem is tömbben vannak tárolva.
Amit viszont te csinálsz abban semmi rendezés nincs.
Egymásba ágyazott if-ek kellenének.
Egyszerűbb lenne amúgy az egész rekordokkal, aminek van név meg kor része, de így is megoldható végül is.
Megnézed Zsófi és Kati közül ki az idősebb. Majd mindkét esetben összehasonlítod az eredményt Julival is. És így tovább, amíg minden esetet le nem fedsz.
Leírsz egy papírra néhány lehetséges esetet és kb meg is van az algoritmus, de a levegőből nyilván nem fog megszületni...
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
public class CsakAKerdojelKettospontOperatornakVanHaromOperandusaTeccikerteni {
public static void main(String[] args) {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String[] nev = {"Zsófi", "Kati", "Juli"};
int[] szul = new int[3];
int[] defSzul = new int[3];
for(int i=0;i<3;++i){
try {
szul[i]=Integer.parseInt(in.readLine());
defSzul[i]=szul[i];
} catch (Exception ex) {
System.err.println("hoppá");
System.exit(-1);
}
}
Arrays.sort(szul);
for(int i=2;i>=0;--i){
for(int j=0;j<3;++j){
if(szul[i] == defSzul[j]) System.out.println(nev[i]);
}
}
}
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!