Hi,
ich möchte ein Programm Quersummen schreiben, bin auch schon recht weit, denke ich.
Das Programm soll alle Zahlen, z.b. von 0-1000, ausgeben, die die Quersumme, z.b. 15, haben.
Nun hab ich aber das Problem, dass er mir für jeden Aufruf der Zahl-Variable den Compiler-Fehler:
non-static variable this cannot be referenced from a static context
ausgibt.
Hier der Code (übersichtshalber in zwei Teilen):
[Java]
import java.util.Scanner;
public class Quersummen
{
public int zahl=0;
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int limitZahl;
int kontrollZahl;
int quersumme=0;
System.out.print("Bis zu welcher Zahl soll getestet werden: ");
limitZahl = scan.nextInt();
System.out.print("Zu beachtende Quersumme eingeben: ");
kontrollZahl = scan.nextInt();
while(zahl<=limitZahl)
{
Quersummen.quersummeRechnung();
if(quersumme==kontrollZahl)
{
System.out.println(zahl);
}
zahl=zahl+1;
}
}
[/Java]
[Java]
public static void quersummeRechnung()
{
double teiler1d=0;
double hoch=0;
String laenge;
int teiler1=0;
int teiler2=0;
int ergebnis=0;
int quersumme=0;
System.out.println();
laenge=String.valueOf(zahl);
hoch=laenge.length();
teiler1d=Math.pow(10, hoch);
teiler1=(int)teiler1d;
teiler2=(teiler1)/10;
while(teiler2>=10)
{
ergebnis=zahl/teiler2;
zahl=zahl-(ergebnis*teiler2);
teiler2=teiler2/10;
quersumme=quersumme+ergebnis;
}
quersumme=quersumme+zahl;
System.out.println("Quersumme: " +quersumme);
}
}
[/Java]
Nun bin ich schon ewig am googlen und hab trotzdem nichts konkretes gefunden.
Ich kompiliere via Eingabeaufforderung.
Ich kann nur hoffen, dass ihr bereit seid mir zu helfen.
Vielen Dank
Manu
ich möchte ein Programm Quersummen schreiben, bin auch schon recht weit, denke ich.
Das Programm soll alle Zahlen, z.b. von 0-1000, ausgeben, die die Quersumme, z.b. 15, haben.
Nun hab ich aber das Problem, dass er mir für jeden Aufruf der Zahl-Variable den Compiler-Fehler:
non-static variable this cannot be referenced from a static context
ausgibt.
Hier der Code (übersichtshalber in zwei Teilen):
[Java]
import java.util.Scanner;
public class Quersummen
{
public int zahl=0;
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int limitZahl;
int kontrollZahl;
int quersumme=0;
System.out.print("Bis zu welcher Zahl soll getestet werden: ");
limitZahl = scan.nextInt();
System.out.print("Zu beachtende Quersumme eingeben: ");
kontrollZahl = scan.nextInt();
while(zahl<=limitZahl)
{
Quersummen.quersummeRechnung();
if(quersumme==kontrollZahl)
{
System.out.println(zahl);
}
zahl=zahl+1;
}
}
[/Java]
[Java]
public static void quersummeRechnung()
{
double teiler1d=0;
double hoch=0;
String laenge;
int teiler1=0;
int teiler2=0;
int ergebnis=0;
int quersumme=0;
System.out.println();
laenge=String.valueOf(zahl);
hoch=laenge.length();
teiler1d=Math.pow(10, hoch);
teiler1=(int)teiler1d;
teiler2=(teiler1)/10;
while(teiler2>=10)
{
ergebnis=zahl/teiler2;
zahl=zahl-(ergebnis*teiler2);
teiler2=teiler2/10;
quersumme=quersumme+ergebnis;
}
quersumme=quersumme+zahl;
System.out.println("Quersumme: " +quersumme);
}
}
[/Java]
Nun bin ich schon ewig am googlen und hab trotzdem nichts konkretes gefunden.
Ich kompiliere via Eingabeaufforderung.
Ich kann nur hoffen, dass ihr bereit seid mir zu helfen.
Vielen Dank
Manu