Anonymní profil Zyxx – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Zyxx – Programujte.comAnonymní profil Zyxx – Programujte.com

 

Příspěvky odeslané z IP adresy 88.101.98.–

Zyxx
Java › Zadání právě čtyř čísel oddě…
28. 10. 2011   #149282

#4 Tchibo
Díky, už to funguje... Já věděl, že to bude nějaká blbost... :)

Zyxx
Java › Zadání právě čtyř čísel oddě…
28. 10. 2011   #149280

#2 KIIV
No ve splitu rozděluji String s, který zadá uživatel tak, že obsahuje právě 4 čísla oddělená mezerou. Jenže naplnění int a,b,c,d nefunguje... Funguje to pro a, kde je index [0]... Takže vstup bude:

1 2 3 4

int a = 1 a pak to vypíše:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1

Zyxx
Java › Zadání právě čtyř čísel oddě…
28. 10. 2011   #149278

Ahoj,

potřeboval bych poradit s takovou "určitě prkotinou"... Potřeboval bych do svého programu vmáčknout část, ve které uživatel zadá přesně 4 čísla na jedné řádce a ty čtyři čísla naplní čtyři proměnné...

Nepříklad zadá: "1 25 13 74" a promněnné budou a = 1, b = 25, c = 13, d = 74; Zadaný řetězec bude obsahovat přesně 4 libovolně velká, ale nezáporná čísla.

Zatím jsem zkoušel tohle, ale nefunguje to...:

        public static void main(String[] args) {
        	Scanner sc = new Scanner(System.in);
        	System.out.println("Zadej 4 cisla: ");
        	String s = sc.next();
        	String[] st = s.split(" ");
        	int a = Integer.parseInt(st[0]);
        	int b = Integer.parseInt(st[1]);
		int c = Integer.parseInt(st[2]);
		int d = Integer.parseInt(st[3]);
...

Děkuji za pomoc.

Nib
Java › Java - prvočísla, prohozrní…
25. 10. 2011   #149141

#5 liborb
Tak jsem ten test prvočísla předělal a výsledky jsou pořád stejný...

Například pro maxCislo 50:

2, 3, 5, 7, 11, 13, 17, 19, 37, 41, 47,

Opět... od 20 začnou záhadně chybět čísla, který končí 3 a 9;

Nib
Java › Java - prvočísla, prohozrní…
25. 10. 2011   #149138

Akorát mi to po nahrazení vynechává některá prvočísla: např.: 23, 29 atd...
Nechápu proč...

 


import java.util.*;

public class Prvocisla{
	

	public static int vstupMaxCisla(){
    Scanner sc = new Scanner(System.in);
    System.out.print("Zadej max. cislo: ");
    int cislo = sc.nextInt();
    return cislo;
	}
public static boolean jePrvocislo(int cislo){
	int pomocna = 1;
for (int j = 1; j<cislo; j++){
	pomocna = pomocna *( cislo%(cislo-j));
}
if (pomocna > 0){pomocna = 0;return true;}
else pomocna = 0; return false;
}

	
	
public static void vypisPrvocislo(int cislo){
	for (int i = 2; i < cislo;i++){
			if (jePrvocislo(i)) System.out.print(i + ", ");
	}}
	
public static void main(String[] args) {
 int cislo = vstupMaxCisla();
	System.out.println("---Vysledky---");
	jePrvocislo(cislo);
	vypisPrvocislo(cislo);

	
}}
	
Nib
Java › Java - prvočísla, prohozrní…
25. 10. 2011   #149126

#2 liborb
Díky, máte naprostou pravdu... Už jsem to upravil a funguje to. :)

Nib
Java › Java - prvočísla, prohozrní…
25. 10. 2011   #149124

Zdravím, mám napsat program, který vypíše prvočísla až do maximálního čísla, které zadá uživatel. Myslím, že jsem  program dokázal vytvořit, ale potřeboval bych, aby výstup čísel byl od nejmenšího po největší a ne naopak, jak to mám já.

tj. uživatel zadá např. 4 a můj program vypíše:
---Výsledky---
3, 2,
a já bych chtěl, aby vypsal:

---Výsledky---
2, 3,

Nevíte, prosím, jak to udělat nějak elegantně? Zdrojový kód:

/**
* @ author Nib;
*/

import java.util.*;

public class Prvocisla{
	

	public static int vstupMaxCisla(){
    Scanner sc = new Scanner(System.in);
    System.out.print("Zadej max. cislo: ");
    int cislo = sc.nextInt();
    return cislo;
	}
public static boolean jePrvocislo(int cislo){
	int pomocna = 1;
for (int j = 1; j<cislo-1; j++){
	pomocna = pomocna *( cislo%(cislo-j));
}
if (pomocna > 0){pomocna = 0;return true;}
else pomocna = 0; return false;
}

	
	
public static void vypisPrvocislo(int cislo){
	if (jePrvocislo(cislo) == true && cislo != 1){
		System.out.print(cislo+", ");}
}
	
public static void main(String[] args) {
 int cislo = vstupMaxCisla();
 int pomcislo = cislo;
	System.out.println("---Vysledky---");
	for (int i = 0; i<pomcislo;i++){

	jePrvocislo(cislo);
	vypisPrvocislo(cislo);
	cislo = cislo-1;
}
	
}}
	

Díky za pomoc! :)

 

 

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