Pomoc s programkem – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pomoc s programkem – Java – Fórum – Programujte.comPomoc s programkem – Java – Fórum – Programujte.com

 

Dan
~ Anonymní uživatel
38 příspěvků
1. 11. 2016   #1
-
+1
-
Zajímavé

Mám ve škole úkol. Vcelku jednoduchý zdá se ale asi jsem na toto fakt lama. Zadání znělo, aby jsme jako uživatelé zadali na výzvu programu počet cestujících a kapacitu vozidla které cestující přepravuje. Z toho vypočítat celkový počet jízd a kolik cestujících bude ve vozidle při poslední jízdě. Do toho ošetřit abych nemohl zadat nulovou a zápornou  kapacitu auta či cestujícich o tom informovat na obrazovce.

Třeba příklad :

Počet cestujících - 17
kapacita vozidla - 4
počet jízd je - 5
při poslední jízdě bude ve vozidle 1 cestující

zatím mám pouze toto a nevím zda-li správně. Děkuji za každou radu

public class auto1{
    public static void main (String[] args){
        int poc;
        int kap;
        for(int i=0; i<10; i++){
            System.out.print ("Zadej počet cestujících: ");
            poc = VstupDat.ctiInt();
            System.out.print ("Zadej kapacitu vozidla ");
            kap = VstupDat.ctiInt();
                
            if(poc>0 & kap>0){
                System.out.println ("Počet jízd bude =" +(+poc/kap));
                System.out.println ("Poslední jízdou pojede:" (poc % kap));
                i=10;
            }else{
                System.out.println ("Něco jste zadali špatně");
            }
        }
    }
}
 

Nahlásit jako SPAM
IP: 81.200.53.–
KIIV
~ Moderátor
+43
God of flame
1. 11. 2016   #2
-
0
-

A co ridic? Pocita se do te kapacity taky?

Nahlásit jako SPAM
IP: 212.47.3.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Dan
~ Anonymní uživatel
38 příspěvků
1. 11. 2016   #3
-
0
-

Nene.
Jen pocet prepravovanych osob

Nahlásit jako SPAM
IP: 81.200.53.–
KIIV
~ Moderátor
+43
God of flame
1. 11. 2016   #4
-
0
-

No kazdopadne:

VstupDat.ctiInt()  je podezrely

Vypis poctu osob v poslednim take, nejspis chybi operator + na pridani k retezci...

 Kazdopadne nejak takto to zda se funguje:

    public static void main(String[] args) {
        int poc;
        int kap;
        Scanner scanner = new Scanner(System.in);
        while (true){
            System.out.print ("Zadej počet cestujících: ");
            poc = scanner.nextInt();
            System.out.print ("Zadej kapacitu vozidla ");
            kap = scanner.nextInt();
                
            if(poc>0 & kap>0){
                System.out.println ("Počet jízd bude: " + (poc/kap));
                System.out.println ("Poslední jízdou pojede: " + (poc%kap));
                break;
            }else{
                System.out.println ("Něco jste zadali špatně");
            }
        }
    }
Nahlásit jako SPAM
IP: 212.47.3.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Dan
~ Anonymní uživatel
38 příspěvků
1. 11. 2016   #5
-
0
-

VstupDat.ctiInt()  je podezrely ( vstup dat je vlastne udelana syntaxe) viz :

System.in.read(pole);
String vstup = new String(pole).trim();
cislo = Integer.valueOf(vstup).intValue();
nacteno = true;
} catch (Exception e) {
System.out.println("Chybne nactene cislo! Zadej znovu:");
}
} while (!nacteno);
return cislo;
}
/* Metoda vraci cislo typu float, prectene ze vstupu
* Nacitani se opakuje, dokud neni vse vporadku
*/
public static float ctiFloat() {
float cislo = 0;
byte[] pole = new byte[10];
boolean nacteno = false;
do {
try {
System.in.read(pole);
String vstup = new String(pole).trim();
cislo = Float.valueOf(vstup).floatValue();
nacteno = true;
} catch (Exception e) {
System.out.println("Chybne nactene cislo! Zadej znovu: ");
}
} while (!nacteno);
return cislo;
}
/*
* Metoda vraci posledni znak zadaneho retezce na vstupu
* Nacitani se opakuje, dokud neni vse vporadku
*/
public static char ctiChar() {
char ch = '+';
boolean nacteno = false;
do {
try {
ch = (char) System.in.read();
System.in.read(); /* pro vynulovani vstupniho bufferu*/
System.in.read(); /**/
nacteno = true;
} catch (Exception e) {
System.err.println("Byl zadan neplatny znak!");
}
} while (!nacteno);
return ch;
}
/* Metoda vraci retezec znaku precteny ze vstupu
* Nacitani se opakuje, dokud neni vse vporadku
*/
public static String ctiString() //throws IOException
{
try {
return radek = stdin.readLine();
}
catch(Exception e){
System.err.println("chyba v retezci");
return "";
}
}
}

Děkuji za zdroják ale když to hodím do JCreatoru ver 3.5 tak mi vypisuje chybu error: reached end of file while parsing .. nepoužívám špatný program? :-/

Nahlásit jako SPAM
IP: 81.200.53.–
KIIV
~ Moderátor
+43
God of flame
1. 11. 2016   #6
-
0
-

#5 Dan
neni to cely zdrojak. Je to jen main procedura (musi byt uvnitr tridy)

Nahlásit jako SPAM
IP: 94.113.99.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 10 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý