View Full Version : primfak.java
ich hab jetzt das dreieck.java aufgegeben
und das einfache gewählt,
nur da happerts auch
ich weiss nicht wie ich am ende die while schleife machen soll..
darf eine while schleife eine if bedingung haben?
der code: http://members.chello.at/chiara.wien
wär sehr froh wenn mir wer diese schleife machen könnt , ich schaff sie näml nicht :( :( :mad:
DoomedOne
07-05-2002, 23:59
man könnte das so machen, is auf ganz easy :)
prüf aber alles noch mal nach könnten genug fehler drinnen sein *g
import eprog.*;
public class Pri extends EprogIO
{
public static void main(String[] args)
{
short zahl=0;
boolean datenf =false;
StringBuffer buff = new StringBuffer(30);
try { zahl=readShort(); }
catch (EprogException e) { datenf=true; }
if (datenf)
{
println("?");
return;
}
if (zahl < 0 || zahl > 100)
{
println("FALSCHE EINGABE");
return;
}
if (zahl <= 1)
println(zahl);
else
{
for (int i = 2; i <= zahl; i++)
{
if (zahl % i == 0)
{
buff.append(i).append(" ");
zahl /= i;
i = 1;
}
}
println(buff.toString().trim());
}
}
}
danke sehr :D :thumb:
es funktioniert, kein fehler drin :)
aber ein paar sachen sind mir unkar:
wozu dieses: return; ? geht ja ohne auch...
buff.append(i).append(" "); :confused:
würds da ein print nicht auch tun?
println(buff.toString().trim());:mad:
? würds da... ?
zahl /= i; heisst dass das i das ergebnis von zahl/i zugewiesen wird?
DoomedOne
08-05-2002, 15:11
wozu dieses: return; Damit das programm sofort nachher beendet wird.
würds da ein print nicht auch tun naja im grunde schon aber dann hast du nach der letzten zahl noch ein " " und dann stimmen die IO files nimmer, außerdem schauts so schwieriger aus :p
println(buff.toString().trim()); wandelt den StringBuffer in einen String um um damit auf die trim funktion zugreifen zu können, die löscht alle startenden + endenden " ".
zahl /= i; heißt zahl = zahl / i;
thx
aber gibst da nix einfacheres als das trim um das (" ") prob zu lösen
?
i kann das mim trim näml kaum nachvollziehen
DoomedOne
09-05-2002, 18:59
hm du kannst auch einfach das letzte zeichen mit substring löschen.
aber ob das wirklich leichter is?
kannst du mal zeigen wie ich das mache ?
DoomedOne
10-05-2002, 18:47
also entweder so: <code>EprogIO.println( buff.deleteCharAt( buff.length() - 1 ) );</code>
oder so:
<code> EprogIO.println( buff.toString().substring(0, buff.length() - 1) );</code>
:D
danke hat mir sehr geholfen
die delete methode gefällt mir
hab sie schon eingebaut ins prog und funkt
:thumb:
vBulletin® v3.7.1, Copyright ©2000-2008, Jelsoft Enterprises Ltd.