Java týden Java týden
Aprílový black friday tě nenechá v klidu! Až 80 % prémiového obsahu zdarma. Více informací
Pouze tento týden slevy až 80 % na programování v Javě
Avatar
Vladimíra Keslová:3.11.2018 10:47

Zdravím,

dokáže mi někdo poradit co s tímhle (viz. obrázky)? Všechny závorky mám v páru, zkoušela jsem je mazat, přidávat.. :D
Chybu to píše na řádku 28.
Omlouvám se, jsem začátečník, asi to bude nějaká blbina :)
Děkuji

Editováno 3.11.2018 10:48
 
Odpovědět 3.11.2018 10:47
Avatar
Štefan Melich:3.11.2018 10:55

chyba nemusí byť na riadku 28 mohla by si sem hodiť celý kód?

 
Nahoru Odpovědět 3.11.2018 10:55
Avatar
HONZ4
Člen
Avatar
Odpovídá na Vladimíra Keslová
HONZ4:3.11.2018 16:53

krom závorek, zkontroluj jestli ti někde nechybí středník ;

 
Nahoru Odpovědět 3.11.2018 16:53
Avatar
Filip Zeman
Člen
Avatar
Odpovídá na Vladimíra Keslová
Filip Zeman:3.11.2018 18:35

Zkontroluj, jestli je uzavřené namespace, class, metoda main i ten while cyklus. Pokud ne, zkus prostě přidat složenou závorku na konec. Pokud se ti po tom nějak pomíchá kód, řádky jdou seřadit pomocí Ctrl + K a Ctrl + F. :) (Musíš před tím označit kód k seřazení).

Editováno 3.11.2018 18:36
 
Nahoru Odpovědět 3.11.2018 18:35
Avatar
Odpovídá na Vladimíra Keslová
Vladimíra Keslová:3.11.2018 20:47

Celý kód je:

using System;
using System.Collec­tions.Generic;
using System.Linq;
using System.Text;
using System.Threadin­g.Tasks;

namespace Median
{
class Program
{
static void Main(string[] args)
{
Console.Write­Line("Zadej počet čísel:");
int pocet = int.Parse(Con­sole.ReadLine());
int[] cisla = new int[pocet];
for (int i = 0; i <= pocet - 1; i++)
{
Console.Write("Za­dej {0}. číslo:", i + 1);
cisla[i] = int.Parse(Con­sole.ReadLine());
}
Array.Sort(cisla);
while (pocet % 2 != 0)
{
float poziceMedian = pocet / 2;
int pozice = (int)Math.Rou­nd(poziceMedi­an);
int median = cisla[pozice];
Console.Write­Line(median);
}
else
{
float poziceMedian = pocet / 2F;
float poziceMedian2 = poziceMedian + 1;
float median = (poziceMedian + poziceMedian2) / 2;
}

for (int i = 0; i < cisla.Length; i++)
Console.Write­Line("{0} ", cisla[i]);

Console.ReadKey();

}
}
}

Středníky jsem kontrolovala, řekla bych, že jsou všude kde mají být. A uzavřené bych řekla, že je taky vše :)

Editováno 3.11.2018 20:48
 
Nahoru Odpovědět 3.11.2018 20:47
Avatar
Marek Uhlik
Člen
Avatar
Odpovídá na Vladimíra Keslová
Marek Uhlik:3.11.2018 20:55

A to else patří k čemu ?

 
Nahoru Odpovědět 3.11.2018 20:55
Avatar
Odpovídá na Marek Uhlik
Andy Scheuchzer:3.11.2018 21:11

Myslím, že chtěla použít if, protože while v dané situaci není vůbec potřeba.

Nahoru Odpovědět  +1 3.11.2018 21:11
Člověk, co si myslí, že snědl všechnu moudrost světa, i když tomu tak není.
Avatar
Odpovídá na Vladimíra Keslová
Andy Scheuchzer:3.11.2018 21:12

Příště prosím používej tlačítko na vložení kódu (druhé zleva, jsou na něm špičaté závorky s lomítkem).

Nahoru Odpovědět  +1 3.11.2018 21:12
Člověk, co si myslí, že snědl všechnu moudrost světa, i když tomu tak není.
Avatar
Filip Zeman
Člen
Avatar
Odpovídá na Vladimíra Keslová
Filip Zeman:3.11.2018 21:29

Prostě vyměň while za if. While je cyklus, If je podmínka. Použití while tady by ti mohlo vytvořit i ošklivý nekonečný cyklus.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +2 3.11.2018 21:29
Avatar
Vladimíra Keslová:3.11.2018 21:40

Eh, ano to else bylo myšlené k tomu while, asi tedy špatně :D Nevěděla jsem jak toto sepsat do závorky za if (proměnná, podmínka, příkaz), proto jsem to použila takto.

Za vložení kódu se omlouvám, tlačítka jsem si nevšimla. Pro příště vím :)

A když jsme u toho, je nějaký zásadní rozdíl v použití if a while? :)

 
Nahoru Odpovědět 3.11.2018 21:40
Avatar
Odpovídá na Vladimíra Keslová
Andy Scheuchzer:3.11.2018 22:03

if provede kód jenom jednou a může mít else. while ti provádí kód, dokud podmínka nepřestane platit.

Nahoru Odpovědět 3.11.2018 22:03
Člověk, co si myslí, že snědl všechnu moudrost světa, i když tomu tak není.
Avatar
Vladimíra Keslová:10.11.2018 10:49

Děkuj všem za odhalení záhady :) v hlavě mi nějak hrálo for a pořád jsem nějak nechápala jak to mám udělat, až po nějaké době mi došlo, že nepíšete for ale if :D

 
Nahoru Odpovědět 10.11.2018 10:49
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.