Diskuze: Pomôžte mi
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, tak sem nahod, co mas za kod. Variant je mnoho
NIc jineho mam nezadal neco jako hello world len v procedure
ješte
Cez konzolový vstup načítajte 1
číslo
a vypíšte
(pozn. premenná číslo)
2.
V cykle do premennej poľa čísel načítajte
čísla
a vypíšte
(pozn. číslo = počet opakovaní pre cyklus
napr. vo
for (int i=0; i<cislo; i++)
)
(
pozn. int[] cisla = new int[
cislo
];
)
3.
Vypíšte minimálne a maximálne číslo poľa čísel
(pozn. if (min > cisla[i]) {...})
a do tretice
Domáca úloha 5 (2 b)
Načítajte z konzoly 2 texty a:
1.
porovnajte ich
a.
ak sú zhodné, vypíšte
ZHODA
b.
ak nie sú zhodné, vypíšte dlhší text
2.
spojte texty
a.
každé slovo nového textu vypíšte na nový riadok
b.
každému slovu nahraďte znak
a
znakom
X
A nejakej tvuj pokus je nebo to je prosba o vyhotoveni DU?
Zdar,
to první by podle mě mohl vypadat nějak takto:
package du;
import java.util.Scanner;
public class DU {
public static void main(String []args){
Scanner sc = new Scanner(System.in, "Windows-1250");
System.out.println("Zadejte slovo:");
String vstup = sc.nextLine();
System.out.println("Zadejte číslo:");
int číslo = Integer.parseInt(sc.nextLine());
číslo = číslo - 1;
for (int x = 0; x <= číslo; x++) {
System.out.println(vstup);
}
int y = číslo * číslo + 100;
System.out.println(y);
}
}
Ahoj,
začátek máš v pořádku (teda z českého názvu s diakritikou u proměnné
mám tik v oku ).
Chyba je, že přepisuješ hodnotu proměnné číslo, měl by sis ji nechat jak
je a upravit jen podmínku cyklu z <= na <. Důvod je prostý, takhle ti
nebude vycházet správný výsledek toho matematického výrazu, protože
nepočítáš s původní, uživatelem zadanou, hodnotou, ale s hodnotou kterou
jsi snížil o 1.
Já bych to teda upravil takhle:
import java.util.Scanner;
public class Program
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in, "Windows-1250");
System.out.println("Zadejte slovo:");
String vstup = sc.nextLine();
System.out.println("Zadejte číslo:");
int cislo = Integer.parseInt(sc.nextLine());
// cyklus opakuje vypisování vstupu do jednotlivých řádků dokud nedosáhne zadaného počtu
for (int x = 0; x < cislo; x++) {
System.out.println(vstup);
}
int y = cislo * cislo + 100;
System.out.println(y);
}
}
Možností jak dosáhnout výsledku je samozřejmě více a dá se s nimi i dál pracovat.
import java.util.Scanner;
public class Program
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in, "Windows-1250");
System.out.println("Zadejte slovo:");
String vstup = sc.nextLine();
System.out.println("Zadejte numero:");
int cislo = Integer.parseInt(sc.nextLine());
String vystup = "";
// cyklus přidává k proměnné vystup hodnotu vstupu (a mezeru) dokud nedosáhne zadaného počtu
for (int x = 0; x < cislo; x++) {
vystup += vstup +" ";
}
System.out.println(vstup +" opakuji "+ cislo +"x:");
System.out.println(vystup);
int y = cislo * cislo + 100;
System.out.println(cislo +" x "+ cislo +" + 100 = "+ y);
}
}
Nebo stejný výsledek bez použití cyklu for:
import java.util.Scanner;
public class Program
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in, "Windows-1250");
System.out.println("Zadejte slovo:");
String vstup = sc.nextLine();
System.out.println("Zadejte numero:");
int cislo = Integer.parseInt(sc.nextLine());
/* hodnota výstupu je vygenerována jako řetězec v němž je počet znaků dán zadaným číslem,
* následně jsou jednotlivé znaky nahrazeny zadaným textem,
* k textu je přidána mezera pro přehlednost
*/
String vystup = new String(new char[cislo]).replace("\0", vstup +" ");
System.out.println(vstup +" opakuji "+ cislo +"x:");
System.out.println(vystup);
int y = cislo * cislo + 100;
System.out.println(cislo +" x "+ cislo +" + 100 = "+ y);
}
}
Projdi si místní lekce k základům Javy. V podstatě tam jsou tvoje úlohy
vyřešené
Zobrazeno 10 zpráv z 10.