Elágazás probléma Java-ban?!
A problémám az lenne,hogy adott egy feltétel,ha a számom páratlan akkor ki írja h "Bad",ha nem páratlan ki írja hogy "Not Bad".Viszont,2 és 5 között beleértve a kettőt és az 5-öt is ki írja hogy "Not bad".A problémám az,hogy ha meg adom neki hogy 3 akkor arra a "Bad" szót kellene ki írnia,ám az utolsó elágazásom miatt a "Not bad" szó jön ki. 6 és 20 között "Bad" kell,ha a számom 20-nál nagyobb "Not bad" kell. Mutatom a kódom.
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class harmadik {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
String ans="";
if(n%2==1){
ans = "Bad";
}
else if (n >= 2 && n <= 5 )
{
ans = "Not Bad";
}
else if (n >= 6 || n <= 20)
{
ans = "Bad";
}
if (n > 20)
{
ans = "Not Bad";
}
System.out.println(ans);
}
}
Lehet hogy működik, de nem jó. Rosszabb mint az első próbálkozás. Túlbonyolítod. Mi ez a rengeted feltétel, meg else ág?
Ennyi lenne az egész:
if (n % 2 == 1 || n % 2 == -1) {
ans = "Bad";
} else if (n == 0) {
ans = "";
} else {
ans = "Not Bad";
}
if (n >= 2 && n <= 5) {
ans = "Not Bad";
}
if (n >= 6 && n <= 20) {
ans = "Bad";
}
if (n > 20) {
ans = "Not Bad";
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!