Java feladat megoldás?!
Egy Tömb bekér egy "N" egész típusú változót,mely meghatározza a tömb méretét.
Majd bekér annyi számot amekkora a mérete.Tehát:
Első bekérés: 5
Második bekérés: 1 2 3 4 5 --> 5 db szám mivel a tömb mérete 5.
Feladat: Meg kell vizsgálni,hogy a bekért számok közül van-e 3 db 3-as.ha van akkor "true"-->abban az esetben ha 2 3as között még 1 másik szám is szerepel.De ha ez a feltétel nem teljesül akkor "false" értéket ad vissza.Nem tudom meg írni.Ha valaki megtenné nekem,megköszönném!Idegesít h nem tudok rájönni h miértjére.
"van-e 3 db 3-as.ha van akkor "true"-->abban az esetben ha 2 3as között még 1 másik szám is szerepel."
????????
Megpróbálnád kicsit pontosabban leírni, mert lehet én vagyok a hülye, de nem tudom pontosan mire kell itt gondolni.
({3, 1, 3, 1, 3}) → true
({3, 1, 3, 3}) → false
({3, 4, 3, 3, 4}) → false
Tehát 4 darab szám esetén: 3,1,3,1,3 -->true
De már a : 3,1,3,3,1 -- > false
Vagy a 3,1,3,1,2 -- > false/mivel 2 darab hármas van benne csak.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int [] a = getArray(n);
}
public static int [] getArray(int number){
int b[] = new int [number];
for(int i = 0; i < b.length; i++){
b[i] = sc.nextInt();
}
return b;
}
public boolean haveThree(int[] nums) {
int count = 0;
for (int i=0;i<nums.length-1;i++) {
if (nums[i] == 3 && nums[i+1] ==3) {
return false;
}
if ((nums[i]==3)) {
count ++;
}
}
if(nums[nums.length-1] == 3) {
count++;
}
return count == 3;
}
}
Ideág eljutottam,de bárhogy is próbálom ki írni,nem írja ki.Ezért a kódomból a sop-t kivettem.Tehát a kiíratással van baj.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("kérem a tömbméretet! ");
int meret = sc.nextInt();
int[] tomb = letrehoz(meret, sc);
boolean igaz = csekkol(tomb);
System.out.println(igaz);
}
public static int[] letrehoz(int i, Scanner sc) {
int[] tomb = new int[i];
for (int j = 0; j < tomb.length; j++) {
System.out.printf("kérem az %d. számot:", j + 1);
tomb[j] = sc.nextInt();
}
return tomb;
}
public static boolean csekkol(int[] g) {
for (int i = 0; i <= g.length - 5; i++) {
if (g[i] == 3 && g[i + 2] == 3 && g[i + 4] == 3) {
return true;
}
}
return false;
}
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!