Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problemino con array

  1. #1

    Problemino con array

    ciao salve ragazzi sto esercitandomi sul java devo creare un metodo che mi restituisca gli elementi di un array elevato a delle potente ovvero dato un intero n a caso per caso n=4 mi deve restituire un array [1,2,4,8,16] dove la dimansione è data da n+1 e il contenuto sono le potente di 2^n:
    codice:
    public static double[] creaArray(int n){
            //mi creo l'array di dimensione n+1
            double []a = new double[n+1];
            //mi scorro l'array
            for(int i=0; i<a.length; i++){
                //ho pensato di passare qst assegnamento per ridare il metodo ma niente;
                a[i] = Math.pow(2, n);
            }
            return a;
        }
    Ovviamente essendo un metodo statico nel main lo richiamo in qst modo:
    codice:
    System.out.println("L'array creato è: "+"nomeClasse".creaArray(4));

  2. #2

    Moderazione

    Per Java c'è una sezione apposita, sposto.

    (tra parentesi, è bene formattare il codice con i tag [code] ... [/code], altrimenti perde l'indentazione; ora sistemo io, in futuro ricordatene)
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Innanzitutto non si capisce quale sia il tuo problema...utilizzando un po' di intuito e immaginazione mi sembra di aver capito che preso in input un intero n devi riempire un array di dimensione n+1 con le potenze del 2 , tali che 2^q con q nell'intervallo [0 , n]

    se è così il tuo codice è errato dove fai:

    codice:
    a[i] = Math.pow(2, n);
    dovresti fare invece:

    codice:
    a[i] = Math.pow(2, i);

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Aggiungo... tieni presente che gli array sono oggetti. Se il tuo metodo restituisce un array, non lo puoi stampare semplicemente buttando l'array in System.out, ma devi ottenere l'array, scorrerlo e stamparne ciascun elemento.

    Facendo come hai fatto tu otterresti in stampa qualcosa come:

    L'array creato è: [D@7d8a992f

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.