Schleife in bestimmten schritten

Schatti

Mitglied
Hi wie kann in java eine schleife erstellen,

die den anfangswert 0 hat und den endwert 7 hat und die werte dazwischen sollen immer um 0,1 steigen?
 

Schatti

Mitglied
Bei mir kommt follgender Fehler

genauigkeitsverlust möglich, Gefunden: double; Benötigt: float

follgendes hab ich eingegeben?

for(float f = 0.0; f < 7.0; f += 0.1)
System.out.println(f);
}

und wenn ich anstelle von float double schreibe, dann zaehlt er mir nicht

0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
1,1

sondern 1.4000000000000001 usw.
 

Dario Linsky

Erfahrenes Mitglied
Dann versuch's mal damit:

Code:
import java.text.*;
// ...
DecimalFormat df = new DecimalFormat("#,#0.0");
for(float f = 0.0F; f < 7.0F; f += 0.1F) {
    System.out.println(df.format(f));
}
 

Schatti

Mitglied
bei mir gibt er dann aber nichts aus

so siehts bei mir aus
PHP:
package shadow;
import java.text.*;
public class Test {
  public Test() {
  DecimalFormat df = new DecimalFormat("#,#0.0");
  for(float f = 0.0F; f < 7.0F; f += 0.1F) {
  System.out.println(df.format(f));
}

  }
  public static void main(String[] args) {
    Test test1 = new Test();
  }

}
 

Thomas Darimont

Erfahrenes Mitglied
Servus!

...und noch einer:

Code:
	public static void main(String[] args) {
		BigDecimal bd1 = new BigDecimal("0.1");

		BigDecimal bd2 = new BigDecimal("7.0");
		BigDecimal bd3 = new BigDecimal("0.0");
				
		for (; bd3.compareTo(bd2) <= 0; bd3 = bd3.add(bd1)) {
			System.out.println(bd3.toString());
		}
	}

Gruß Tom