Προς το περιεχόμενο

amesh voh8eia sth java!!!


gms20

Προτεινόμενες αναρτήσεις

Δημοσ.

paidia sugnwmh!panw sto agxos mas x8es 3exasame na valoume ton kwdika pou exoume ws twra ftia3ei:

>class Region
{
private Point member;
private String label="";
public Region(int size)
{
    return size;
}
public Region(int size,String label)
{
   this.size=size;
   this.label=label;
   return label;
}
public void setPoint(int x,int y,int value)
{
    this.x=x;
    this.y=y;
    this.value=value;
}
public int area()
{
int m;
for (int i=0;i<area;i++)
   m++;
return m;
}
public void getValue(int x,int y)
{ 
for (int i=0;i<area;i++)
{

   return value(Point[this.x][this.y]*member);
}
}
int k=0;
int p=0;
public double mean()
{
for (int i=0;i<area;i++)
k=k+Point[this.x][this.y]* member;
 return p=k/area;
}


class Point
{
int x=0;
int y=0;
int value=0;
Point(int x,int y,int value);

public static void main(String args[])
{
int arr[][][][][][][][][]={{2,3,10,10,2,4,1,20,2,3,23},
             {2,8,8,8,9,8,8,1,7,0,9},
             {8,9,8,67,90,54,90,8,9,8,4},
             {67,90,54,2,8,8,4,3,2,1,9},
             {2,8,8,8,9,8,90,1,7,0,9},
             {2,8,8,67,90,54,66,1,7,0,9},
             {8,9,8,2,8,8,8,90,54,1,7},
             {2,8,8,9,8,8,8,90,66,1},
             {2,8,8,67,90,54,90,54,66,8,9}};

int i=0;
Region test=new Region();
test.Region(22);
test.Region(22,sh);
for (i=0;i<sh;i++){

System.out.println("o pinakas periexei tis times" +"test.setPoint: "+arr[i]);
}

}
}

voh8hste mas estw mono na ton kanoume na trexei!:cry:

Δημοσ.

μαλιστα.... εχουμε και λεμε

 

την main βγάλε την από την Point. Φτιάξε μια τρίτη κλάση που θα τρέχει την εργασία σου

>
public class Ergasia
{
   public static void main(String args[])
   {
        // do your tests here
   }
}

 

φυσικά θα βάλεις όλο τον κώδικα σου σε ενα αρχείο που θα λέγεται Ergasia.java ή όπως αλλιώς θες, αρκεί να εχει ίδιο όνομα με τη κλάση που εχει τη main

 

η κλάση Point φαινεται οκ, ασε την ως εχει

 

Για την Region αρχίζουμε:

αλλαξε το

>private Point member;

σε

>private Point[] member;

το member ειναι array που θα κρατάει τα ποιντς της περιοχης, σωστα;

 

ο constructor τωρα

>public Region(int size)
{
    return size;
}

εχεις καταλαβει τι κανεις εδω? Ξερεις τι κάνει ο constructor? Διαβασε ξανα το βιβλιο της java που εχεις για constructors. Μια σιγουρη αλλαγή που πρέπει να κάνεις ειναι

 

>public Region(int size)
{
    member = new Point[ size ];
}

 

δηλαδη, θα θέσεις το array member να έχει μεγεθος ισο με size (το ορισμα που παίρνει ο constructor). Δηλαδη αν αργότερα πείς Region myregion = new Region(10) θα μπορεί να αποθηκεύσει 10 points.

 

επίσης εδώ

>public Region(int size,String label)
{
   this.size=size;
   this.label=label;
   return label; //  <-- constructors dont return anything
}

 

άλλαξε το

>
public Region(int size,String label)
{
   member = new Point[ size ];
   this.label=label;
}

 

για την public void setPoint(int index, int x, int y, int value) σου λέει "μέθοδος με την οποία δίνεται νέα τιμή σε ένα ήδη καταχωρημένο σημείο της περιοχής βάσει συντεταγμένων του (x,y).". Εσύ τι κάνεις παρακάτω?

 

>
public void setPoint(int x,int y,int value)
{
    this.x=x;
    this.y=y;
    this.value=value;
}

 

το this εδω αναφέρεται στην κλάση Region και οχι στην κλαση point. Πας να αλλάξεις τιμή στα χ και ψ τα οποία όμως η region ΔΕΝ εχει. Τα εχουν τα ποιντς που εχει η region. Σωστά? Πρέπει να ψάξεις δηλαδη στο πινακα member να δεις αν υπάρχει κάποιο ποιντ με αυτες τις συντεταγμένες και αν ναι να αλλάξει το value του. Κατι σαν και αυτο

>
public void setPoint(int x,int y,int value)
{
   φορ ( ιντ ι ισον 0; i < member.length; ι++ )
   {
         αν(  member[ι].χ ισον με χ ΚΑΙ μεμβερ[ι].y ισον με y  )
         {
                τοτε μεμπερ[ι].βαλιου = value
                // και κανε ενα return εδω, αφου βρίκαμε το ποιντ που θέλουμε, 
                // δεν υπαρχει λογος να ψάχνουμε και άλλο
         }
   }

   // αν φτάσουμε εδω, σημαινει ότι δεν βρίκαμε κανενα ποιντ με αυτες τις  
   // συντεταγμενες
}

 

και πάει λέγοντας....

 

Αυτα, καλές γιορτές

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...