Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
1) irgendetwas sagende variablennamen verwenden. Auch ruhig mal "resistance" "amperage" und "voltage" ausschreiben, ansonsten gehen dir früher oder später die buchstaben aus, etwa weil die eine oder die andere Größe mit lateinischen Buchstaben (etwa kreisfrequenz omega oder irgendsowas) angegeben wird
2) kommentieren. Ich hab zwar ein paar semester lang unter anderem auch physik studiert, aber ich hab trotzdem nicht so viel lust mir zu überlegen was das alles denn bedeuten könnte. ???:L
3) zumindest mal andeuten was die codestücke aus anderen teilen des programms in etwa machen sollen... was zum teufel ist "IO1" und wer nennt methoden denn bitte schön "eindouble" ? :shock:
=> kein Mensch weiß was das ist, daher gestaltet es sich schwierig da weitere ratschläge zu geben...
edit:
4) wenn man denselben unkommentierten krempel zwei mal postet, wird es leider nicht zweimal verständlicher
1) an kommentaren ist immer noch nichts dazugekommen
2) die eingabe und die berechnung sind komplett durcheinandergeworfen
3) auch die ganze funktionalität steckt in der main, davon ist nichts wiederverwertbar
4) du benutzst einfach viel zu viele unnötige variablen. Wenn du die funktionalität eh nicht von der Ausgabe trennst, dann ist es zB. ziemlich sinnlos, die widerstände in einem array abzuspeichern, die benutzst du ja eh nicht wieder. Wenn man es hingehackt haben will, dann kann man das also noch ganz gut kürzen:
Code:
public static void main(String args[])
{
System.out.println("Wieviele Widerstands werte möchten sie berechnen");
int n=IO1.einint();
double g;
for(int i=0; i<n ;i++){
g+=1/IO1.eindouble();
}
System.out.println("PG:"+1/g);
}
und nur mal so zum vergleich, wie viel einfacher es ist, sinnvoll gegliederten kommentierten code zu lesen:
Code:
import java.io.*;
public class Circuit {
/**
* calculates total resistance of multiple parallel resistors
*
* @param resistances the resistances of resistors in the parallel circuit
* @return total resistance
*/
public static double parallelResistors(double[] resistances){
double conductivity=0;
//sum up inverse resistances
for(int i=0; i<resistances.length; i++){
conductivity+=1/resistances[i];
}
//return the inverse of the total conductivity
return 1/conductivity;
}
/**
* Little test of the parallelResistors() [remove this method later]
*
* @param args arguments from the console
*/
public static void main(String[] args)
throws IOException, NumberFormatException{
//reader to read stuff
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
//out to print stuff
PrintStream out=System.out;
//variables to read (initialized with default values 0 & empty-array)
int numberOfResistors=0;
double[] resistances=new double[]{};
out.print("Please enter the number of resistors: ");
numberOfResistors=Integer.parseInt(reader.readLine());
resistances=new double[numberOfResistors];
for(int i=0; i<resistances.length; i++){
out.print((1+i)+" resistor=");
resistances[i]=Double.parseDouble(reader.readLine());
}
//calling the parallelResistors() method
out.println( "The total resistance of the "+numberOfResistors+
" resistors is "+parallelResistors(resistances));
}
}
Bemerkung:
übrigens, meinst du wirklich, dass dein Programm irgendetwas richtiges liefert? Dann verstehe ich aber nicht mehr, was es denn liefern sollte, weil, gesamtwiderstand einer Parallelschaltung scheint es nicht zu sein? :bahnhof:
Na gut, wenn's eh nur auf Ergebnisse ankommt, dann kann man dazu auch "physikalisch ein Erfolg, programmtechnisch ein Disaster" sagen, man muss die Welt ja nicht gleich schwarz-weiß anstreichen, erst recht nicht wenn grau gut genug ist... :roll:
sry, was soll die frage bedeuten? Meinst du etwa "fünfte oder sechste wurzel ziehen" oder was?
Falls ja: dafür gibt es keine extra funktionen wie für Quadratwurzel, alles andere wird mit pow(basis,exponent) erledigt:
Code:
Math.pow(2,1/5); // fuenfte wurzel aus 2
die akzeptiert allerdings ausschlieslich nichtnegative doubles für basis, für solche sachen wie "dritte wurzel aus -27" musst du selbst mit vorzeichen herumhantieren, aber für physikalische Anwendungen braucht man das eh nicht.