Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    14

    Aiuto Java!!!!!!!!!!!!!!!!!!!!

    Salve ho iniziato Java e ho problemi nella creazione di gerarchie di classe.
    Ho realizzato una superclasse Robot con i suoi metodi e variabili.
    Poi ho creato una sotto classe e creando l'oggetto di quest'ultima, il compilatore segnale errore del tipo:

    "Robot.java [47:1] non-static variable this cannot be referenced from a static context RobotconArti dante=new RobotconArti();"

    Questo è il programma:

    public class Robot {

    int temperatura;
    int pressione;
    String stato;

    void Controllo(){
    if(temperatura>60) {
    if(pressione<30) {
    stato="Zona Calma...";
    }
    else {
    stato="Zona in quarantena...";
    }
    }
    else {
    stato="Esplorazione...";
    }
    }

    public class RobotconArti extends Robot {

    float forza;
    String materiale;
    void Presa() {
    if(materiale=="vetro") {
    forza=5;
    System.out.println("Braccio meccanico in azione. Forza:" + forza);
    System.out.println("Oggetto" + materiale+ "Prelevato...");
    }
    else {
    forza=20;
    System.out.println("Braccio meccanico in azione. Forza:" + forza);
    System.out.println("Oggetto" + materiale+ "Prelevato...");
    }
    }
    }

    public static void main(String[] args) {
    RobotconArti dante=new RobotconArti();
    dante.temperatura=20;
    dante.pressione=30;
    dante.materiale="Roccia";
    dante.Presa();
    dante.Controllo();

    }

    }

    VI SCONGIURO AIUTATEMI!!!!!!!!!!!!!!!

  2. #2
    Utente di HTML.it L'avatar di zambo
    Registrato dal
    Jan 2001
    Messaggi
    15


    Ciao Jlinux82, in breve il tuo problema è che stai tentando di istanziare una classe NON STATICO (Robot) da un metodo STATICO (main).

    Ti allego una ipotetica soluzione al tuo problema:

    public class Robot {

    int temperatura;
    int pressione;
    String stato;

    public void Robot() {
    RobotconArti dante=new RobotconArti();
    dante.temperatura=20;
    dante.pressione=30;
    dante.materiale="Roccia";
    dante.Presa();
    dante.Controllo();
    }

    void Controllo(){
    if(temperatura>60) {
    if(pressione<30) {
    stato="Zona Calma...";
    }
    else {
    stato="Zona in quarantena...";
    }
    }
    else {
    stato="Esplorazione...";
    }
    }

    public class RobotconArti extends Robot {

    float forza;
    String materiale;
    void Presa() {
    if(materiale=="vetro") {
    forza=5;
    System.out.println("Braccio meccanico in azione. Forza:" + forza);
    System.out.println("Oggetto" + materiale+ "Prelevato...");
    }
    else {
    forza=20;
    System.out.println("Braccio meccanico in azione. Forza:" + forza);
    System.out.println("Oggetto" + materiale+ "Prelevato...");
    }
    }
    }

    public static void main(String[] args) {
    Robot r = new Robot();
    }
    }

    Ciao
    ---------------------------------------
    Se il tuo capo si ammazza per obbligarti a fare un lavoro che non ti compete, si paziente ... lascialo morire.
    ---------------------------------------

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    14

    rispota a claudio

    Ti ringrazio....adesso provo..
    Mi sorge un dubbio: se istanzio un oggetto robot, siamo sicuri che esso contenga anche i metodi e variabili della sottoclasse?????

  4. #4
    Utente di HTML.it L'avatar di zambo
    Registrato dal
    Jan 2001
    Messaggi
    15

    Effettivamente anzichè Robot r = new Robot() avresti dovuto scrivere
    RobotconArti r = new RobotconArti()perchè estende la classe Robot.

    Grazie per la precisazione.
    Ciao
    ---------------------------------------
    Se il tuo capo si ammazza per obbligarti a fare un lavoro che non ti compete, si paziente ... lascialo morire.
    ---------------------------------------

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.