Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [java]problema da neofita

    Ciao a tutti ho un errore di questo tipo in questa applicazione:
    codice:
    C:\Lavoro\java\suorce>javac Area_by_Gauss.java
    Area_by_Gauss.java:26: long cannot be dereferenced
                    return System.out.println("Numero vertici facenti parte del poli
    gono:" + this.numero_vertici.toString());
    
             ^
    Area_by_Gauss.java:26: incompatible types
    found   : void
    required: java.lang.String
                    return System.out.println("Numero vertici facenti parte del poli
    gono:" + this.numero_vertici.toString());
                                             ^
    2 errors
    l'applicazione non ancora finita ma che comunque da quell'errore lì è:
    codice:
    import java.io.*;
    import pack.*;
    
    class Area_by_Gauss {
    	
    	long numero_vertici;
    	long area;
    	int coordinate_vertici[][][];
    	final String descrizione = "Con questo piccolo programma si sarà in grado di calcolare l'area di un qualsiasi poligono avendo tutte le coordinate dei suoi punti rispetto a un generico piano cartesiano. NB= L'unità di misura del risultato sarà come quella inserita e ovviamente elevata alla seconda.";
    	
    	public static void main(String args[]){
    		Area_by_Gauss risultato = new Area_by_Gauss();
    	}
    
    	public Area_by_Gauss(){
    		System.out.println(this.descrizione);
    		System.out.println();
    		System.out.println("Formula: 1/2 * sommatoria[Ni * (Xi+1 - Xi-1])");
    		System.out.println("Inserisci il numero dei vertici della figura");
    	this.setNVertici();
    	Poligono figura = new Poligono(this.numero_vertici);
    	}
    	
    	String setNVertici() throws IOException {
    		this.numero_vertici = System.in.read();
    		return System.out.println("Numero vertici facenti parte del poligono:" + this.numero_vertici.toString());
    	}
    	
    }
    oltra agli errori che vi sono, praticamente dovrebbe a un certo punto chiedere quanti punti ha il poligono. Da tastiera inserisco un numero, questo numero deve essere il valore della variabile this.numero_vertici e successivamente come vedete dovrebbe essere stampato a video. Non riesco a schiodarmi

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Non considerarlo solo come errore di tipo, considera anche questo "long cannot be dereferenced".

  3. #3
    stai invocando il metodo toString da un long (tipo primitivo)

    sai già che i tipi primitivi non hanno nè metodi nè proprietà vero?
    Ci sono cose che non si possono sapere. Per tutto il resto c'è man

    Prima di fare domande stupide: 1) googla 2) leggi le manpages 3) sparati.

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Un 'long' non ha il metodo .toString().
    Utilizza
    codice:
        // Utilizza 
        String.valueOf(this.numero_vertici)
    
        // al posto di 
        this.numero_vertici.toString()
    Tra le altre cose, utilizzando NetBeans 3.6, per compilare ho dovuto
    effettuare delle modifiche alle dichiarazioni.
    Non so quale compilatore utilizzi, ma per eliminare alche il secondo
    errore devi dichiarare la funzione come void, oltre che static.

    codice:
    	public static void Area_by_Gauss() {
    		System.out.println(descrizione);
    		System.out.println();
    		System.out.println("Formula: 1/2 * sommatoria[Ni * (Xi+1 - Xi-1])");
    		System.out.println("Inserisci il numero dei vertici della figura");
          	        try {
                       setNVertici();
                    } catch (IOException e) {
                       // Qui dovresti gestire l'eventuale errore    
                       // infatti dichiari setNVertici() throws IOException 
                       System.out.println("Errore di IO");               
                    }
                   // Questa non l'ho potuta testare.  
                   Poligono figura = new Poligono(this.numero_vertici);
          
      }
    	
    	public static void setNVertici() throws IOException {
    		numero_vertici = System.in.read();
    		System.out.println("Numero vertici facenti parte del poligono:" + String.valueOf(numero_vertici));
    	}
    Ciao, Brainjar

  5. #5
    ho un piccolo problemino...non è il problema di prima, come faccio a recuperare dalla linea di comando cosa digito? cioè tipo il System.in.read(), però invece del numero giusto che inserisco mi da un numero da 0 a 255..come faccio a trasformare?

  6. #6
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    Originariamente inviato da zannas
    ho un piccolo problemino...non è il problema di prima, come faccio a recuperare dalla linea di comando cosa digito? cioè tipo il System.in.read(), però invece del numero giusto che inserisco mi da un numero da 0 a 255..come faccio a trasformare?
    basta guardare che dice la documentazione....

    doc

    infatti è come usare il metodo read(byte b[]) passandogli un solo elemento di array, cioè un solo byte(infatti 2^8 = 256, cioè da 0 a 255)
    prova ad usare il metodo passandogli più byte...

    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da Brainjar
    Non so quale compilatore utilizzi[...]
    Credo che utilizzi lo stesso che usi tu... NetBeans è solo un IDE tra tanti, ma il compilatore è solo uno: quello della Sun, che si chiama javac.


    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.