THMMY.gr

Μαθήματα Βασικού Κύκλου => Δομές Δεδομένων => Topic started by: adianohtos on February 11, 2009, 14:00:30 pm



Title: Επιλυση Θεματων Εξετασεων
Post by: adianohtos on February 11, 2009, 14:00:30 pm
Καλημερα παιδια, ελυσα ισως λιγο προχειρα την ασκηση της Java απο τα θεματα του Φεβρουαριου 2008 και θα ηθελα τη γνωμη σας. Μπορει να εχω και τραγικα λαθη μην βαρατε!  :D

Code:
public class Element{
private int value;

public Element(int v){
int value=v
}
public void setValue(int v){
int value=v;
}
public int getValue(){
return value;
}
}

public class Array extends Elemet{

public printArray(Element[] array){
for(int i=0;i<10;i++)
System.out.println(array[i]);
}

public static void main(String[] args){

Element[] A=new Element[10];

for(int i=0;i<10;i++)
A[i]=(int)Math.random();

A.printArray();

int temp;

for(int i=0;i<10;i++){
for(int j=0;j<10-i;j++){
if(A[j-1]>A[j]){
temp=A[j].getValue;
A[j].setValue(A[j-1].getValue);
A[j-1].setValue(temp);
}
}
}

A.printArray();
}


Title: Re: Επιλυση Θεματων Εξετασεων
Post by: adianohtos on February 11, 2009, 14:28:21 pm
Μπερδευομαι με τα ορισματα που πρεπει να δινω στις μεθοδους οταν εχω πινακες... Και επισης εχω μονο 2 κλασεις, που πρεπει να χρησιμοποιησω protected, private, public και γιατι..?? HELP!  :'(


Title: Re: Επιλυση Θεματων Εξετασεων
Post by: ippocrates9 on February 11, 2009, 18:01:07 pm
Μπορεί κάποιος να δώσει μια σωστή λύση??????


Title: Re: Επιλυση Θεματων Εξετασεων
Post by: PallasFTW on February 12, 2009, 01:53:48 am
Code:
public class Element {
private int value;
public Element(){}
public Element(int v) {value=v;}
public void setValue(int v){value=v;}
public int getValue() {return value;}
}

public class Array{
public static  void printArray(Element[] array){
int i;
for(i=0; i<array.length; i++){System.out.print(array[i].getValue()+" ");}
}
public static void main(String[] args){
Element[] elements=new Element[10];
int i,j, temp;
for(i=0; i<elements.length; i++) {elements[i]=new Element((int)(100*Math.random()));}
printArray(elements);
for (i=0; i<elements.length; i++){
for (j=1; j<(elements.length-i); j++){
if (elements[j-1].getValue()>elements[j].getValue()){
temp=elements[j].getValue();
elements[j].setValue(elements[j-1].getValue());
elements[j-1].setValue(temp);
}
}
}
printArray(elements);
}
}
αυτή η υλοποίηση φαίνεται να δουλεύει, αλλά δυο σημεια θελουν προσοχη:1) να γινεται η αντιμεταθεση των τιμων των αντικειμενων και οχι των αντικειμενων αυτων καθεαυτων    2)η printArray πρεπει να τυπωνει τις τιμες των αντικειμενων (η δηλωση της ως στατικη γινεται για να μην χρειαζεται να δημιουργηθει ενα αντικειμενο τυπου Array το οποιο θα καλει την συναρτηση αλλα η κληση της να γινεται απ'ευθειας απο την μαιν.)

έτσι την έλυσα αλλα με την βοηθεια του eclipse