Wie zum senden von Variablen von einer Klasse zur anderen.
Hoffentlich ist es nicht zu spät für jemanden, um mir zu helfen. Ich versuche, erstellen Sie ein Programm, das eine Klasse (TestCode) der Benutzer aufgefordert wird, geben Sie 4 zahlen. Dann sende ich die Variablen aus, die Klasse zu einer anderen Klasse (MySmartDataType). Dann, ich benutze diese ganzen zahlen, um bestimmte Berechnungen vornimmt. Das problem ist, ich bin mir nicht sicher, wie man das zweite Programm zu akzeptieren, die ganzen zahlen richtig. Hier ist die erste Klasse.
import java.util.*;
class TestCode{
public static void main(String args[]){
int n1 = 0;
int n2 = 0;
int n3 = 0;
int n4 = 0;
String repeat = "Y";
int evenTotal = 0;
int oddTotal = 0;
MySmartDataType msdt;
Scanner sc;
sc = new Scanner(System.in);
while (repeat == "Y"){
System.out.println("Enter number 1 ");
n1 = sc.nextInt();
System.out.println("Enter number 2 ");
n2 = sc.nextInt();
System.out.println("Enter number 3 ");
n3 = sc.nextInt();
System.out.println("Enter number 4 ");
n4 = sc.nextInt();
System.out.println("Would you like to continue? N for no and Y for Yes.");
repeat = sc.nextLine();
msdt = new MySmartDataType(n1,n2,n3,n4);
}
evenTotal = msdt.getEvenTotal();
System.out.println("Even total is: " + evenTotal);
oddTotal= msdt.getOddTotal();
System.out.println("Odd total is: " + oddTotal);
System.out.println("Grand Total is: " + msdt.getTotal() );
}
}
Und hier ist der zweite:
import java.util.*;
class MySmartDataType {
private int myArray[] = new int [4];
myArray[4] = {n1, n2, n3, n4};
int getEvenTotal(){
int sumEven = 0;
for (int i = 0; i <= myArray.length; i++){
if (myArray[i] % 2 == 0){
sumEven += myArray[i];
}
}
System.out.println("The even total is: " + sumEven);
return sumEven;
}
int getOddTotal(){
int sumOdd = 0;
for (int i = 0; i <= myArray.length; i++){
if (myArray[i] % 3 == 0){
sumOdd += myArray[i];
}
}
System.out.println("The odd total is: " + sumOdd);
return sumOdd;
}
int getTotal(){
int sumTotal;
for (int i = 0; i <= 3; i++){
sumTotal += myArray[i];
}
System.out.println("The total is: " +sumTotal);
return sumTotal;
}
}
InformationsquelleAutor tserran | 2013-04-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
deklarieren Sie die Variablen Global, dann erstellen Sie getter -, setter für die deklarierten Variablen. So können Sie den Wert der Variablen in anderen Klassen, die Sie wollen, indem Sie get-Methode.
InformationsquelleAutor Ranjithkumar250492
Tun, eine setter-und getter-Methode, um die variable der anderen Klasse.
Hier ist eine Anleitung, wie es zu tun:
YOUTUBE-link
InformationsquelleAutor rodolfo navalon
Mit
public static
modifier.Beispiel:
public static int example
jetzt können Sie mitexample
in einer anderen Klasse.InformationsquelleAutor Tuan Vu
Fügen Sie den folgenden in Ihre
MySmartDataType
Klasse. Erstellen Sie 4 Instanz-Variablen in IhremMySmartDataType
denen die gesendeten Daten vom anderen Klasse.(z.B.: int var1...)Verwenden var1...var4 in die Methoden für die Operationen. Sie können ersetzen, var1...var4 mit array, aber dann müssen Sie die Schleife, die jede Zeit und Lesen Sie die Werte und die opr ist(das ist keine schlechte option, bis zu Ihnen).
InformationsquelleAutor Anuj Balan
Verpasst du den Konstruktor in MySmartDataType Klasse. Dieser Konstruktor wird aufgerufen, wenn Sie erstellen, die Objekt dieser Klasse in der ersten Klasse; also
folgende nicht sinnvoll ist, entfernen Sie es
Den Konstruktor in MySmartDataType Klasse werden die Werte in das array;
können Sie Bearbeiten Sie Frage mit den aktualisierten code versuchst du jetzt?
InformationsquelleAutor nommyravian
Ich denke, jetzt bist du OOP lernen, richtig?
Sie können erstellen Sie eine Methode mit einem oder mehreren Parametern zu füllen Sie Ihre zweite Klasse Attribute.
Beispiel :
und Sie können rufen Sie diese Methode aus Ihrer ersten Klasse
InformationsquelleAutor Bobby Stenly
Versuchen, diese:
}
Null zuweisen
msdt
variableMySmartDataType msdt = null;
in der Klasse TestCodeInformationsquelleAutor karthick
Fügen Sie folgenden Konstruktor an die MySmartDataType Klasse.
InformationsquelleAutor eatSleepCode
http://docs.oracle.com/javaee/6/tutorial/doc/gjbbp.html
Setter setzen Sie eine variable, um Ihre input-Parameter. Getter zurückgeben der Instanzvariable, die eine ist "immer". Zum Beispiel,
InformationsquelleAutor user2370642