Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media
Nel Formula 1 Technology and Media Centre di Biggin Hill, la velocità delle monoposto si trasforma in dati, immagini e decisioni in tempo reale grazie all’infrastruttura Lenovo che gestisce centinaia di terabyte ogni weekend di gara e collega 820 milioni di spettatori nel mondo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-11-2008, 21:40   #1
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
[Java] Primi passi con java non mi compila

Ciao...ho iniziato oggi a studiare per un esame universitario che fà uso di Java...ho provato a fare il primo esempio portato in classe dalla professoressa ma non mi compila (mi pare di avere installato la jsdk...)

Si trata di due classi: una che definisce il tipo di dato InteroPositivoPari contenente il costruttore, un metodo d'istanza somma ed un metodo di classe per vedere se un numero è coerente con quel tipo di dato.
Ed una seconda classe TestInteroPositivoPari che contiene il metodo main per far girare il tutto.

I codici delle due classi sono i seguenti:

Codice:
class InteroPositivoPari{
	int n;  // E' la variabile di istanza
	
	/* Il costruttore */
	
	InteroPositivoPari(int k){
		if(k >= 0 && k%2 == 0) n = k;
		else n = 1;
	}
	
	/* Il metodo di istanza che esegue la somma dell'oggeto ricevente con l'oggetto di tipo InteroPositivoPari referenziato
	   dal parametro altro */
	
    InteroPositivoPari somma(InteroPositivoPari altro){
    	int k;
    	InteroPositivoPari risultato;
    	
    	if(this.n != 1 && altro.n != 1)
    		k = this.n + altro.n;
    	else k = 1;
    	
    	risultato = new InteroPositivoPari(k);
    	return risultato;
    }
    
    /* Il metodo di classe che verifica se il parametro h è un intero positivo pari o meno, restituisce 1 nel primo caso, 0
       altrimenti */
    
    public static int verificaSeInteroPositivoPari(int h){
    	int esito = 0;
    	if(h >= 0 && h%2 == 0) esito = 1M
    }
}

Codice:
class TestInteroPositivoPari{
	
	/* Il metodo main è necessariamente un metodo di classe */
	public static void main(String[] args){
		int k;
		InteroPositivoPari N, M, P;
		
		N = new InteroPositivoPari(4);
		M = new InteroPositivoPari(6);
		P = N.somma(M);   // N è l'oggetto ricevente
		
		/* Nell'istruzione che segue la classe InteroPositivoPari è la classe ricevente */
		k = InteroPositivoPari.verificaSeInteroPositivoPari(3);
   }
}
A questo punto con la shell di msdos vado nella directory dove sono salvati i due file testuali .java che contengono il codice delle due classi e digito nel promp di msdos (questo è il copia e incolla di ciò che c'è nella shell di dos):

C:\Programmi\Crimson Editor\template\esercizi\InteroPositivoPari>javac TestInteroPositivoPari.java
"javac" non è riconosciuto come comando interno o esterno,
un programma eseguibile o un file batch.

Come mai sta cosa? cosa sbaglio? dov'è l'inghippo?

Grazie
Andrea
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 21:48   #2
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
quel messaggio dovrebbe voler indicare che in qualche modo non trova il jdk..
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 21:52   #3
Don[ITA]
Senior Member
 
L'Avatar di Don[ITA]
 
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
Hai impostato correttamente il path della jdk nelle variabili d'ambiente?
__________________
iMac 27" 5K
Don[ITA] è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 22:42   #4
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
Quote:
Originariamente inviato da Don[ITA] Guarda i messaggi
Hai impostato correttamente il path della jdk nelle variabili d'ambiente?
cioè? non sò minimamente di cosa stai parlando...cosa dovrei tentare di fare? per favore illuminatemi che devo studiare per sto esame...
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 22:47   #5
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
Quote:
Originariamente inviato da Don[ITA] Guarda i messaggi
Hai impostato correttamente il path della jdk nelle variabili d'ambiente?
ok...mi sono documentato un po' su cosa intendevi e credo che dipenda da questo...anche perchè il file javac.exe è presente nella directory: C:\Programmi\Java\jdk1.6.0_03\bin
ora la domanda è: come faccio a cambiare queste variabili e a fare in modo che mi riconosca il comanda javac anche in altre directory?

Grazie
Andrea
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 22:53   #6
Energy++
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 1059
vai in Risorse del Computer e successivamente su Proprietà, scheda Avanzate e clicca sul pulsante in basso Variabili d'ambiente, dopo di che modifica la variabile di sistema PATH aggiungendo alla fine la stringa: C:\Programmi\Java\jdk1.6.0_03\bin;
Energy++ è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 23:02   #7
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
Quote:
Originariamente inviato da Energy++ Guarda i messaggi
vai in Risorse del Computer e successivamente su Proprietà, scheda Avanzate e clicca sul pulsante in basso Variabili d'ambiente, dopo di che modifica la variabile di sistema PATH aggiungendo alla fine la stringa: C:\Programmi\Java\jdk1.6.0_03\bin;
mmm ho provato...io ora dentro al valore della variabile d'ambiente classpath c'ho messo:
.;C:\Programmi\Java\jre1.6.0_05\lib\ext\QTJava.zip;C:\Programmi\Java\jdk1.6.0_03\bin;
però continua a non funzionare...
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 23:05   #8
Energy++
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 1059
devi modificare la variabile PATH non classpath
Energy++ è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 23:07   #9
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
Quote:
Originariamente inviato da Energy++ Guarda i messaggi
devi modificare la variabile PATH non classpath
nada
Ho provato a cambiare il valore della variabile Path ed ora nel campo valore di tale variabile c'è:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Programmi\ATI Technologies\ATI Control Panel;C:\PROGRA~1\SECUREFX;C:\Programmi\File comuni\Adobe\AGL;C:\PROGRA~1\SECURE~1;C:\Programmi\MySQL\MySQL Server 5.0\bin;C:\Programmi\QuickTime\QTSystem\;.;C:\Programmi\Java\jre1.6.0_05\lib\ext\QTJava.zip;C:\Programmi\Java\jdk1.6.0_03\bin;

continua a non funzionare...come mai? da che può dipendere? se non risolvo mi impicco
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 23:09   #10
Energy++
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 1059
Quote:
Originariamente inviato da D4rkAng3l Guarda i messaggi
nada
Ho provato a cambiare il valore della variabile Path ed ora nel campo valore di tale variabile c'è:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Programmi\ATI Technologies\ATI Control Panel;C:\PROGRA~1\SECUREFX;C:\Programmi\File comuni\Adobe\AGL;C:\PROGRA~1\SECURE~1;C:\Programmi\MySQL\MySQL Server 5.0\bin;C:\Programmi\QuickTime\QTSystem\;.;C:\Programmi\Java\jre1.6.0_05\lib\ext\QTJava.zip;C:\Programmi\Java\jdk1.6.0_03\bin;

continua a non funzionare...come mai? da che può dipendere? se non risolvo mi impicco
che cos'è quel punto e punto-e-virgola?

Ultima modifica di Energy++ : 09-11-2008 alle 23:12.
Energy++ è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 23:12   #11
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
Quote:
Originariamente inviato da Energy++ Guarda i messaggi
che cos'è quel punto e punto-e-virgola?
e che ne sò io...stava là
senti mi puoi scrivere esattamente cosa devo copiaincollare nel campo valore di quella variabile d'ambiente?
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 23:13   #12
Energy++
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 1059
Codice:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Programmi\ATI Technologies\ATI Control Panel;C:\PROGRA~1\SECUREFX;C:\Programmi\File comuni\Adobe\AGL;C:\PROGRA~1\SECURE~1;C:\Programmi\MySQL\MySQL Server 5.0\bin;C:\Programmi\QuickTime\QTSystem\;C:\Programmi\Java\jre1.6.0_05\lib\ext\QTJava.zip;C:\Programmi\Java\jdk1.6.0_03\bin;
così dovrebbe andare
Energy++ è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 23:18   #13
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
Quote:
Originariamente inviato da Energy++ Guarda i messaggi
Codice:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Programmi\ATI Technologies\ATI Control Panel;C:\PROGRA~1\SECUREFX;C:\Programmi\File comuni\Adobe\AGL;C:\PROGRA~1\SECURE~1;C:\Programmi\MySQL\MySQL Server 5.0\bin;C:\Programmi\QuickTime\QTSystem\;C:\Programmi\Java\jre1.6.0_05\lib\ext\QTJava.zip;C:\Programmi\Java\jdk1.6.0_03\bin;
così dovrebbe andare
ok ora funziona...anche se mi ha trovato degli errori nel codice doh
altra domandina...cosa contiene la variabile d'ambiente classpath? c'entra qualcosa con java?

Grazie
Andrea
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 23:23   #14
Energy++
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 1059
no con java non centra, anzi se la rimetti come prima è meglio

che errori ti da il codice?
Energy++ è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 23:24   #15
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
ok...risolto gli errori nel codice, compilato e prodotto i 2 file .class

Se però provo ad eseguire dalla shell di dos il file TestInteroPositivoPari.class mi si apre una finestrella che mi dice: "Impossibile aprire il file...blabla...selezionare il programma con cui aprirlo"...perchè?!?!!?
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 23:25   #16
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
devi lanciare la classe contenente il main..
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 23:26   #17
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
Quote:
Originariamente inviato da ndakota Guarda i messaggi
devi lanciare la classe contenente il main..
eh si ho lanciato la classe contenente il main, se vedi nel codice la classe TestInteroPositivoPari.class contiene proprio il metodo main
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 23:30   #18
Energy++
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 1059
per eseguire i programmi in java devi sempre utilizzare la java virtual machine quindi per avviare il tuo file devi scrivere nel prompt:

java TestInteroPositivoPari
Energy++ è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 23:34   #19
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
Quote:
Originariamente inviato da Energy++ Guarda i messaggi
per eseguire i programmi in java devi sempre utilizzare la java virtual machine quindi per avviare il tuo file devi scrivere nel prompt:

java TestInteroPositivoPari
ok...fatto...pensavo che lo facesse da solo windows quando si lanciava un programma .class visto che la JVM era installata

Ora sto programma non fà nulla visto che non dà output ne prende input...quando l'ho lanciato mi dà questo messaggio:

Microsoft Windows XP [Versione 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Programmi\Crimson Editor\template\esercizi\InteroPositivoPari>java TestInteroPositivoPari.class
Exception in thread "main" java.lang.NoClassDefFoundError: TestInteroPositivoPari/class
Caused by: java.lang.ClassNotFoundException: TestInteroPositivoPari.class
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)

C:\Programmi\Crimson Editor\template\esercizi\InteroPositivoPari>
C:\Programmi\Crimson Editor\template\esercizi\InteroPositivoPari>

E' normale? che vuol dire?

Tnx
Andrea
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2008, 23:37   #20
Energy++
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 1059
ma il file che stai eseguendo contiene il metodo main??

public static void main(String [] args) ??
Energy++ è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Recensione Pura 80 Pro: HUAWEI torna a stupire con foto spettacolari e ricarica superveloce Recensione Pura 80 Pro: HUAWEI torna a stupire c...
Meta avrebbe raccolto fino al 10% dei ri...
NVIDIA DGX Spark e videogiochi? Una pess...
Serie Oppo Reno15 confermata: arriva il ...
UPDF 2025: l'editor PDF che fa (quasi) t...
Partono altri sconti pesanti su Amazon, ...
OpenAI senza freni: centinaia di miliard...
Blink Mini 2 da 34,99€ 15,90€ (-55%) su ...
Altro che AGI, la superintelligenza di M...
Il nuovo ECOVACS DEEBOT T30C OMNI GEN2 s...
GeForce RTX 50 SUPER in ritardo o persin...
HYTE X50: il case dalle linee arrotondat...
Sony ULT WEAR in super offerta: le cuffi...
Sconti record su smartwatch top: Apple W...
NIU continua a crescere: a EICMA 2025 nu...
DJI Osmo 360 ai prezzi più bassi ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:26.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v