Zahl einlesen und damit rechnen


  • -=[P3ac]=-
  • 6680 Aufrufe 3 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Zahl einlesen und damit rechnen

    Hallo!
    Hab gerade angefangen mich ein wenig mit Java zu beschäftigen und wollte mal ein Programm schreiben das eine vom Benutzer eingegebene Zahl zum Quadrat nimmt und ausgibt. Nur hab ich da ein kleines Problem, und zwar wird die benutzeingabe in einen string eingelesen aber ich kann schlcht mit einem string rechnen oder??
    Hier mal mein Code:

    Java-Quellcode

    1. import java.util.*;
    2. public class main {
    3. static int quadrat(int n){
    4. return n*n;
    5. }
    6. static void ausgabe(int n){
    7. String s;
    8. int i;
    9. for(i = 1; i <= n; ++i){
    10. s = "Quadrat(" + i + ") = " + quadrat(i);
    11. System.out.println(s);
    12. }
    13. }
    14. public static void main(String[] args) {
    15. String t;
    16. Scanner get;
    17. System.out.println("Bitte geben Sie eine Zahl ein: ");
    18. get = new Scanner(System.in);
    19. t = get.next();
    20. ausgabe(t);
    21. }
    22. }
    Alles anzeigen


    Danke schon mal,
    MFG :D

    EDIT: Hab das Problem gelöst muss einfach statt in einen string in einen Int einlesen und dann statt

    Quellcode

    1. t=get.next();
    ->

    Quellcode

    1. t=get.nextInt();
    schreiben. Hätt mir einfach die API ein bissl genauer durchlesen sollen :P

    EDIT2:
    So, hab jetzt noch ein Problem bekommen. Hat zwar nicht mehr so viel mit dem Thread Titel zu tun aber ich wollte nicht extra dafür einen neuen erstellen...
    Also ich will, dass nach jeder durchgeführten Berechnung der Benutzer gefragt wird ob nochmal gerechnet werden soll. Aber so wie ich es probiert hab funktioniert es nicht... Hier der Code:

    Java-Quellcode

    1. import java.util.*;
    2. public class main {
    3. static int quadrat(int n){
    4. return n*n;
    5. }
    6. static boolean fortsetzen(boolean b){
    7. String YesNo = "j";
    8. Scanner YN;
    9. System.out.println("Nochmal? ");
    10. YN = new Scanner(System.in);
    11. YesNo = YN.next();
    12. if(YesNo == "j"){
    13. return true;
    14. }
    15. else
    16. return false;
    17. }
    18. static void ausgabe(int n){
    19. String s;
    20. int i;
    21. for(i = 1; i <= n; ++i){
    22. s = "Quadrat(" + i + ") = " + quadrat(i);
    23. System.out.println(s);
    24. }
    25. }
    26. public static void main(String[] args) {
    27. int t;
    28. Scanner get;
    29. do{
    30. System.out.println("Bitte geben Sie eine Zahl ein: ");
    31. get = new Scanner(System.in);
    32. t = get.nextInt();
    33. if( t > 100){
    34. System.out.println("Bitte nur Zahlen unter 100 eingeben!");
    35. }
    36. else if( t == 0){
    37. System.out.println("Bitte nur Zahlen über 0(NULL) eingeben!");
    38. }
    39. else{
    40. ausgabe(t);
    41. }
    42. }while(fortsetzen(true));
    43. }
    44. }
    Alles anzeigen


    :)
  • Zum ersten "gelösten" Problem:
    Normalerweise macht man das mit
    Integer.parseInt(String s);

    Ein weiterer Punkt.
    Wozu hast du die funktion fortsetzen mit einem Parameter?
    Dieser wird ja nicht ein enziges mal verwendet, also weglassen..

    Um dein Problem zu lösen:
    ersetze if(YesNo == "j") mit if(YesNo.equals("j"))

    Gruß,
    stelzi