Diskuze: Prepis z jedného súboru do druhého
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Neregistrovaný
Zobrazeno 15 zpráv z 15.
//= 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.
Zatial mam iba to co som spominala....
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new FileReader("vstup.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("vystup.txt"));
String veta;
while ((veta = br.readLine()) != null) {
bw.write(veta);
bw.newLine();
}
br.close();
bw.close();
} catch (IOException ex) {
System.err.println(ex.getMessage());
} finally {
System.out.println("Súbor .....");
}
}
}
Tak já už to mám odladěné, zkusím tě navést. Projdi si String veta
cyklem od 0 do length()
. Jednotlivý znak zjistíš metodou
charAt()
. Otestuješ ho, jestli je menší než '0' nebo větší
než '9'. V případě splnění podmínky ho vypíšeš na výstup.
V tom cyklu samozřejmě inkrementuješ čítače výstupních znaků.
Nebylo by jednoduší a rychlejší použít statickou metodu ze třídy Character isDigit(char ch)?
Určitě bylo. S Javou teprve začínám a všechny metody ještě neznám.
Zkusil jsem a funguje to. Díky.
Obávám se, že Regex je v tomto případě kanón na vrabce. Ale zkusit to můžu. Spíš by se hodilo něco jako StrTr v PHP.
Regex mi vyšel 4× pomalejší než cyklus s metodou isDigit(), ukládání do StringBuffer a konverzí na String.
Skvělé. Snad jsi využila něco z mých nápověd a snad ses přitom i něco naučila. Přijď zas, možná budu vstřícnější
Este som chcela poradit s tymto:
potrebujem doladit, aby mi vypisalo ked je pocet kladnych aj zapornych rovnaky
(tam mam nejaku chybu ) a tiez chcem, aby ma upozornilo pri zadavani, ze nula sa
nemoze zadat, lebo musim zadavat iba nenulove cele cisla...
public static void main(String[] args) {
Scanner vstup = new Scanner(System.in);
System.out.print ("N: ");
int N;
do {
N = Integer.valueOf(JOptionPane.showInputDialog("Pocet prvkov musi byt
kladny. N:"));
} while(N<=0);
int[] x = new int[N]; // vytvorime pole s N bunkami,
// to kde sa nachadza je ulozene v X
int cislo;
int plus = 0; //pocet kladnyhc
int minus = 0; // pocet zapornych
for (int i = 0; i < x.length; i++) { // pozor na rozsah pola ...
cislo = vstup.nextInt();
x[i] = cislo;
if (cislo > 0) plus++;
if (cislo < 0) minus++;
}
if (minus < plus) {
System.out.println("Viac +");
for (int i =0; i<x.length; i++) {
if (x[i] > 0) System.out.print(x[i] + ", ");
}
if (minus > plus) {
System.out.println("Viac -");
for (int i =0; i<x.length; i++) {
if (x[i] < 0) System.out.print(x[i] + ", ");
}
if (minus == plus) {
System.out.println ("ROVNAKO");
for (int i =0; i<x.length; i++) {
if ((x[i] < 0) &&(x[i] > 0 )) System.out.print(x[i] + ", ");
}
}}
}}}
Bylo by dobré, kdybys zdrojový kód vkládala jako zdrojový kód, aby se to dalo číst. Zbytečně to musím přetahovat do textového editoru. Navíc ti redakční systém mohl některé znaky spolknout.
Po přeformátování jsem celkem rychle zjistil, že máš chybně
uzavřené podmíněné příkazy if (minus < plus) {
... Stačí
jen správně odsazovat, nejlépe automatizovaně.
if (minus < plus) {
System.out.println("Viac +");
for (int i = 0; i < x.length; i++) {
if (x[i] > 0) System.out.print(x[i] + ", ");
}
}
if (minus > plus) {
System.out.println("Viac -");
for (int i = 0; i < x.length; i++) {
if (x[i] < 0) System.out.print(x[i] + ", ");
}
}
if (minus == plus) {
System.out.println("ROVNAKO");
for (int i = 0; i < x.length; i++) {
if ((x[i] < 0) && (x[i] > 0)) System.out.print(x[i] + ", ");
}
}
Je jasné, že ten třetí seznam bude vždy prázdný, protože ta podmínka uvnitř cyklu je nesplnitelná.
Ještě ten vstup:
while (plus + minus < x.length) { // pozor na rozsah pola ...
cislo = vstup.nextInt();
x[plus + minus] = cislo;
if (cislo > 0) plus++;
if (cislo < 0) minus++;
if (cislo == 0) System.out.print("nula sa nemoze zadat ");
}
Ďakujem...medzičasom som prišla na to...použila som source/format, prešla som si to očami a šlo to ale aj tak ešte raz ĎAKUJEM...je super keď má kto poradit...pekny den
Zobrazeno 15 zpráv z 15.