Kezdőoldal » Számítástechnika » Programozás » Elágazás probléma Java-ban?!

Elágazás probléma Java-ban?!

Figyelt kérdés

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);


}

}



2017. febr. 3. 17:56
1 2 3
 11/21 A kérdező kommentje:

A feladat a következő:


Bekérünk egy egész típusú számot nevezzünk el "k"-nak.


- Ha "k" páratlan akkor ki írja a program,hogy "Bad".

- Ha "k" páros,valamint 2 és 5 közé esik(beleértve a határokat is) akkor ki írja,hogy "Not Bad".

- Ha "k" páros és 6,illetve 20 közé esik(beleértve a határokat is ) ki írja hogy "Bad".

- Ha "k" nagyobb,mint 20 ki írja hogy "Not bad"(Minden esetben,tehát ha páros,ha páratlan).

2017. febr. 3. 18:57
 12/21 anonim ***** válasza:

Hol adnak fel ilyen primitív feladatot?

Egyébként még mindig a harmadik feltételed a fő ludas, de már jobban nem tudok rámutatni, hogy miért...

2017. febr. 3. 19:06
Hasznos számodra ez a válasz?
 13/21 A kérdező kommentje:
Ezt a feladatot a neten találtam.Gondoltam megcsinálom.Addig semmi gond,hogy eldönti hogy páros,vagy páratlan.A probléma azzal van,hogy ha 2 és 5 között kell nézni akkor már a 3-ra is a "Not bad" szót kapom,amire "Bad" szó kellene.A továbbiakban meg tudom oldni a feladatot,de erre nem tudok rájönni.
2017. febr. 3. 19:37
 14/21 A kérdező kommentje:
Miután meg van az első feltétel(Ha páratlan akkor "Bad"),utána ha jön a következő feltétel,totálisan semmivé lesz az első feltétel,és mintha nem is írtam volna oda,hogy ha páratlan akkor legyen az h "Bad".
2017. febr. 3. 20:07
 15/21 anonim ***** válasza:

Ezt komolyan gondolod?

Nem baj, hogy ugyanazt a változód írod felül újra?

2017. febr. 3. 20:27
Hasznos számodra ez a válasz?
 16/21 A kérdező kommentje:
Ezzel Tisztában vagyok,és pontosan ez a feladat.Nem vehetek fel másik változót.Ezzel kell megoldani.
2017. febr. 3. 20:43
 17/21 A kérdező kommentje:

Task

Given an integer,k , perform the following conditional actions:


If k is odd, print Weird

If k is even and in the inclusive range of 2 to 5, print Not Weird

If k is even and in the inclusive range of 6 to 20, print Weird

If k is even and greater than 20 , print Not Weird



És itt az induló kód,amihez csak hozzárakhatok,ám a k-val kell dolgoznom.



import java.io.*;

import java.util.*;

import java.text.*;

import java.math.*;

import java.util.regex.*;


public class Solution {


public static void main(String[] args) {


Scanner sc=new Scanner(System.in);

int n=sc.nextInt();

String ans="";

if(k%2==1){

ans = "Weird";

}

else{


//Complete the code


}

System.out.println(ans);


}

}

2017. febr. 3. 20:47
 18/21 anonim ***** válasza:

if(n%2==1){

ans = "Bad";

}

else if (n >= 2 && n <= 5 )

{

ans = "Not Bad";

}


Innen szedd ki az else-t, mert csak akkor fut rá, ha a szám páros.


else if (n >= 6 || n <= 20)

{

ans = "Bad";

}


Ez szintén nem jó. Bár a feladatból adódóan pont nem ad téves eredményt, de attól még nem helyes megoldás.

VAGY helyett ÉS feltétel kell. Az else nem kell.

2017. febr. 3. 22:05
Hasznos számodra ez a válasz?
 19/21 anonim ***** válasza:
Ja és a negatív számok egyáltalán nincsenek vizsgálva, szóval azt is bele kéne még írni.
2017. febr. 3. 22:14
Hasznos számodra ez a válasz?
 20/21 A kérdező kommentje:

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 = "Weird";

}

else

{

ans = "Not Weird";

}

if( n%2==0 && n >= 2 && n <= 5)

{

ans = "Not Weird";

}

else if(n%2 == 1 && n >= 6 && n <= 20)

{

ans = "Not Weird";

}

else

{

ans = "Weird";

}


if (n > 20)

{

ans = "Not Weird";

}

System.out.println(ans);


}

}



Ez így működik,ám valamiért nem kapom meg rá a maximális pontot.

2017. febr. 3. 22:44
1 2 3

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!