Ich habe eine Hauptmethode in einer Klasse und viele andere kleine Methoden in einer anderen Klasse erstellt. Wenn ich sie in meiner Hauptmethode unter Verwendung ihres Standorts anrufe und sicherstelle, dass sie drucken würden, wenn ich sie anrufe, werden sie immer noch nicht ausgedruckt. Nur die zwei Methoden zeigen eine Ausgabe an. Ich bin nicht sicher, wie ich es beheben soll, also habe ich noch nicht viele Dinge ausprobiert. Könnten Sie sich meinen Code ansehen und nachsehen, warum er nicht funktioniert?Warum wird meine Methode nicht ausgedruckt?
Update: Ich habe es geschafft, die ganze Linie in der Hauptmethode außer 28 arbeiten mit der Hilfe, die ich erhielt. Jetzt ist nur noch eine Ausgabe übrig. Ich habe den Code so geändert, dass es ein bisschen besser funktioniert und heruntergefahren wird, wenn es nicht ausgegeben wird, aber die Ausgabe immer noch fehlt.
Meine Haupt Methode
package rational;
/**
*
* @author Dominique
*/
public class Rational {
public static String number() {
rational1 number= new rational1(27, 3);
String r3= number.printRational(number);
return r3;
}
public static void main(String[] args) {
rational1 number= new rational1(27,3);
System.out.println(number());
String r3=number();
System.out.println(rational1.toDouble(27,3));
rational1.add(number);
rational1.invert(r3, number);
rational1.negate(r3, number);
rational1.toDouble(27, 3);
}
}
Meine andere Methode Klasse
package rational;
/**
*
* @author Dominique
*/
public class rational1 {
public int top;
public int bottom;
public rational1() {
this.top = 0;
this.bottom = 0;
}
public rational1(int top, int bottom){
this.top=top;
this.bottom=bottom;
}
public String printRational(rational1 r1){
String r3=("Your fraction is "+String.format(r1.top+"/"+r1.bottom));
return r3;
}
public static void invert(String r2, rational1 r1) {
int index = r2.indexOf('s');
if (index != -1) {
System.out.print(r2.substring(0, index+1));//works
System.out.println(" "+r1.bottom + "/" + r1.top);
index++;
}
else {
System.exit(0);
}
}
public static void negate(String r2, rational1 r1){
int index = r2.indexOf('-');
if (index != -1) {
String stringValueOf = String.valueOf(r1.top);
System.out.println(r2.substring(0, 17));//works
System.out.println(r1.bottom+"/"+stringValueOf.substring(1));
index++;
}
}
public static double toDouble(int one, int two){
int three= one/two;
return three;
}
public static double gcd(double a, double b)
{
double r = a % b;
if (r != 0)
{
return gcd(b, r);
}
else
{
return b;
}
}
public static double reduce(double t, double b){
double numberone=gcd(t, b);
double pick=numberone*(b/t);
return pick;
}
public static double add(rational1 r1){
double pickone=(r1.top);
double choice= pickone+pickone;
double choice2=reduce(choice, r1.bottom);
return choice2;
}
}
Wo genau ist das Problem? Auf welcher Linie erwarten Sie einen Ausdruck und bekommen ihn nicht? – Gendarme
Ich erwarte Ausgabe von Zeilen 26-29 des ersten Codes, den ich aufstellte, meine Hauptmethode. –