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

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

 

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

Jan
Java › náhodná velikost pole
15. 1. 2023   #390819

#2 gna
díky

Jan
Java › náhodná velikost pole
15. 1. 2023   #390817

zdravím všechny,

jen bych se chtěl zeptat jak vytvořit pole které bude mít náhodou velikost. Zkoušel jsem něco jako tohle , ale to samozřejmě nefunguje.  

   Random rd = new Random();	    	
	       	int[] array = new int [rd];

díky za rady

Petr
Java › práce s polem(odstraněni,pri…
12. 1. 2023   #390806

#1 Petr
Potřeboval bych s tím celkově poradit protože jsem teprve začátečník a tak by se hodila jakákoliv pomoc

já jsem si to předvytvořil takto 

package com.simplilearn.projektmaven;

import java.io.*;
import java.util.Random;
import java.util.Scanner;
import java.util.Arrays;
import java.util.ArrayList;
public class App 
{
    public static void main( String[] args ){
    	vygenerovani();
     
    }
    public static void vygenerovani() {
    	
    	Scanner JmenoScanneru = new Scanner(System.in);
        System.out.println( "Vyberte prosim" );
        System.out.println( "1: rucni vytvoreni pole" );
        System.out.println( "2: nahodne vygenerovat pole" );
        
       int a = JmenoScanneru.nextInt();
       
       if (a == 1) {
    	   Scanner sc = new Scanner (System.in);
    	   //vygenerovani podle uzivatele
    	   System.out.println("zadej velikost pole");
    	   int velikost = sc.nextInt();
    	   int[] mojepole = new int [velikost];
    	  for(int i=0; i<mojepole.length; i++) {
    		  System.out.print("zadej cislo do pole");
    		  mojepole[i]= sc.nextInt();
    	  }
    	  
    	  //vypis podle
          System.out.println("zadane pole je");
          for(int poleElement :mojepole) {
        	  System.out.print(poleElement + ", ");
          }
       }
       if (a == 2) {
       	int [] mojepole = new int [15];
       	Random rd = new Random();
       	
       	/* generovani nahodnych prvku do pole */
       	for(int i =0; i <mojepole.length; i++) {
       		mojepole [i] = rd.nextInt(1000);
       	}
       	
     
		/*vypis prvku v poli */
		for(int i =0; i <mojepole.length; i++) {
		System.out.print(mojepole[i]+ ", ");
}
		
       }
       menu();
    }
    
	public static void menu() {
		
    	 Scanner moznost = new Scanner(System.in);
    	 System.out.println("\nVyberte prosim jednu moznost");
         System.out.println("1:Vytisteni pole");
         System.out.println("2:Vyhledani nejvetsiho a nejmensiho cisla");
         System.out.println("3:Odstraneni cisla z pole");
         System.out.println("4:Pridani cisla do pole");
         System.out.println("5:Smazani celeho pole");
    	
         int b = moznost.nextInt();
         if(b==1) {
        	 vygenerovani();
         }
         if(b==2) {
        	 vyhledani();
         }
         if(b==3) {
        	 odstraneni();
         }
         if(b==4) {
        	 pridani();
         }
         if(b==5) {
        	 smazani();
         }
         }
	public static void vyhledani() {
		   Scanner scanner = new Scanner(System.in);
	        System.out.println("Program hleda maximalni a minimalni hodnotu ze zadanych cisel.");
	        System.out.print("Zadejte pocet cisel: ");
	        int n = scanner.nextInt();
	        int cislo;
	        int min = Integer.MAX_VALUE;
	        int max = Integer.MIN_VALUE;
	        for (int i = 1; i <= n; i++) {
	            System.out.print("Zadejte cele " + i + ". cislo: ");
	            cislo = scanner.nextInt();
	            if (cislo > max) {
	                max = cislo;
	            }
	            if (cislo < min) {
	                min = cislo;
	            }
	        }
	        System.out.println("Minimum je " + min);
	        System.out.println("Maximum je " + max);
	}
	public static void odstraneni() {
		
		
		
		int[] mojepole = new int[]{1,2,3,4,5};
        int[] mojepole_new = new int[mojepole.length-1];
        int j=3;
        for(int i=0, k=0;i<mojepole.length;i++){
            if(mojepole[i]!=j){
                mojepole_new[k]=mojepole[i];
                k++;
            }
        }
        System.out.println("Before deletion :" + Arrays.toString(mojepole));
        System.out.println("After deletion :" + Arrays.toString(mojepole_new));
	}
	public static void pridani() {
		  // vytvoreni pole
        ArrayList<String> mojepole = new ArrayList<>();

        // pridani do listu
        mojepole.add("15");
        mojepole.add("10");
        mojepole.add("20");
        System.out.println("cisla jsou " + mojepole);

	}
	public static void smazani() {
	    // vytvoreni pole
        ArrayList<String> mojepole = new ArrayList<>();

        // pridani do listu
        mojepole.add("50");
        mojepole.add("60");
        mojepole.add("70");
        System.out.println("cisla v poli jsou " + mojepole);

        // odstraneni
        mojepole.removeAll(mojepole);
        System.out.println("odstraneni celeho pole:" + mojepole);
	}
    }
   
    	
    
    

všechny ty části by měli fungovat samostatně ale nedaří se mi je propojit tak aby to bylo jen jedno pole a já nemusel vytvářet další pro ostatní úkoly

opravdu jakákoliv pomoc je vítána už jsem moc zoufalý. :(

Petr
Java › práce s polem(odstraněni,pri…
12. 1. 2023   #390805

Uvítací vstupní obrazovka a výpis pole

Systém při zapnutí přivítá uživatele a nabídne mu dvě možnosti, jak vytvořit pole. Jedna je ruční (uživatel zadá čísla oddělená čárkou a zadávání ukončí enterem). Velikost pole je dynamická. Druhá možnost je nechat systém, ať sám vytvoří náhodně velké pole a naplní ho náhodnými čísly. Po vytvoření pole, ať již jedním či druhým způsobem nabídne uživateli následující možnosti (viz body 2-6)

1 Vytištění pole

Systém projde pole a vytiskne na obrazovce všechny čísla v poli. Čísla jsou oddělena mezerou. Uživatel je následně vrácen zpět do menu, kde může dále pracovat s polem.

 2 Vyhledání největšího a nejmenšího čísla

Systém po zadání této volby uživatelem projde pole a najde největší a nejmenší číslo. Uživatel je následně vrácen zpět do menu, kde může dále pracovat s polem.

3 Odstranění čísla z pole

Systém si od uživatele vyžádá číslo, které je nutné z pole odstranit. Systém projde pole a pokud v něm je číslo více než 1x, tak sdělí uživateli počet čísel, které v poli našel a zeptá se ho zdali chce odstranit všechny čísla, nebo první číslo, které takto našel, popřípadě zdali chce akci zrušit. Odstranění čísla se provede tak, že se vytvoří nové pole, do kterého se původní pole převede, avšak bez tohoto odstraněného čísla. Nové pole bude mít tedy velikost n-m, kde n je velikost původního pole a m je počet prvků, které se odstraňují. Uživatel je následně vrácen zpět do menu, kde může dále pracovat s polem.

4 Přidání čísla do pole

Systém si od uživatele vyžádá číslo k odstranění a informaci o pozici na, kterou chce číslo vložit. Následně systém přidá toto číslo do pole. Nové pole bude mít tedy velikost n+1, kde n je počet prvků v poli před provedením operace přidání. Uživatel je následně vrácen zpět do menu, kde může dále pracovat s polem.

5 Smazání celého pole

Systém si od uživatele vyžádá potvrzení, že chce opravdu smazat celé pole. V případě potvrzení smaže celé pole.

 

 

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