Java Teilbarkeit

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

  • Java Teilbarkeit

    Moin...


    also wir ham ne klausur geschrieben mit folgender aufgeb die ich 0 verstanden habe....

    ..................
    Aufgabe:Gegeben ist eine Zahl zwischen 100 und 999.Durch welche ihrer Ziffern ist die Zahl ohne rest teilbar.
    ..................


    wär ehct nett von euch wen jemand mir net antw. geben kann.

    ps:die zahl soll eingegebn werden
    #


    mfg bolop



    edit//

    PHP-Quellcode

    1. public class teilbarkeit_hans {
    2. static public void main(String[] args) {
    3. StdIn ein = new StdIn();
    4. System.out.println("bitte Zahl eingeben ");
    5. int zahl = ein.readInt();
    6. if (zahl >=100 && zahl<=999)
    7. {
    8. System.out.println("richtig ");
    9. int ergenisZahl= zahl / zahl ;
    10. System.out.println("Ausgabe: " +ergenisZahl );
    11. }
    12. else
    13. {
    14. System.out.println("SCHEISE GEMAChT !!!!!!!! ");
    15. }
    Alles anzeigen




    StdIn



    PHP-Quellcode

    1. import java.io.*;
    2. public class StdIn
    3. {
    4. BufferedReader in;
    5. public StdIn ()
    6. {
    7. in = new BufferedReader(new InputStreamReader (new DataInputStream (System.in)));
    8. }
    9. public short readShort ()
    10. {
    11. try
    12. {
    13. String t = in.readLine();
    14. return Short.valueOf(t);
    15. }
    16. catch (Exception e)
    17. {
    18. return 0;
    19. }
    20. }
    21. public byte readByte ()
    22. {
    23. try
    24. {
    25. String t = in.readLine();
    26. return Byte.valueOf(t);
    27. }
    28. catch (Exception e)
    29. {
    30. return 0;
    31. }
    32. }
    33. public int readInt ()
    34. {
    35. try
    36. {
    37. String t = in.readLine();
    38. return Integer.valueOf(t);
    39. }
    40. catch (Exception e)
    41. {
    42. return 0;
    43. }
    44. }
    45. public long readLong ()
    46. {
    47. try
    48. {
    49. String t = in.readLine();
    50. return Long.valueOf(t);
    51. }
    52. catch (Exception e)
    53. {
    54. return 0;
    55. }
    56. }
    57. public float readFloat ()
    58. {
    59. try
    60. {
    61. String t = in.readLine();
    62. return Float.valueOf(t);
    63. }
    64. catch (Exception e)
    65. {
    66. return 0;
    67. }
    68. }
    69. public double readDouble ()
    70. {
    71. try
    72. {
    73. String t = in.readLine();
    74. return Double.valueOf(t);
    75. }
    76. catch (Exception e)
    77. {
    78. return 0.0;
    79. }
    80. }
    81. public String readString ()
    82. {
    83. try
    84. {
    85. return (in.readLine());
    86. }
    87. catch (Exception e)
    88. {
    89. return null;
    90. }
    91. }
    92. }
    Alles anzeigen


    mein ansatz
  • Mal so nebenbei ^^
    Dir ist schon klar das du jedesmal egalb bei welcher Zahl 1 rausbekommst oder? :D

    Und ich habe zumindest die Fragestellung so verstanden:
    Zahl einlesen, Beispiel:
    123
    Durch welche ihrer Ziffern ohne Rest Teilbar?
    123 % 1 == 0? true
    123 % 2 == 0? false
    123 % 3 == 0? true
    Antwort:
    Die Zahl 123 ist durch 1 und durch 3 ohne Rest teilbar

    Das ganze in Code zu panschen ist ja nur noch Kinderkram ^^
  • soooooooooooooooooooooooo.......................




    PHP-Quellcode

    1. public class Zahl {
    2. static public void main(String[] args) {
    3. double zahl=0,
    4. ziffer1=0,
    5. ziffer2=0,
    6. ziffer3=0;
    7. double hunderter=0,
    8. einer=0,
    9. zehner=0;
    10. StdIn ein = new StdIn();
    11. for(int i=0; i<1; ){
    12. System.out.print("\nBitte geben sie eine Zahl zwischen 100 und 999 ein!: ");
    13. zahl = ein.readInt();
    14. if(zahl>100 && zahl<999)
    15. {
    16. ziffer1 = (zahl/100) - (zahl%100 / 100);
    17. ziffer2 = ((zahl/100 - ziffer1) *10) -((zahl/100 - ziffer1) *100%10)/10;
    18. ziffer3 = ((zahl/100 - ziffer1) *10 - ziffer2) *10 ;
    19. hunderter = Math.round( ziffer3 * 100. ) / 100.;
    20. zehner = Math.round( ziffer2 * 100.) /100.;
    21. einer = Math.round( ziffer1 * 100.) /100.;
    22. System.out.print( "\n\n 1.ZIFFER: "+einer + "\n 2.ZIFFER: "+zehner + "\n 3.ZIFFER: "+hunderter +"\n\n" );
    23. double er1,
    24. er2,
    25. er3;
    26. er1=zahl/einer;
    27. er2=zahl/zehner;
    28. er3=zahl/hunderter;
    29. if(er1 != 0 && zahl % ziffer1 == 0 ){
    30. System.out.println( "\n Die Zahl ist durch ihre erste Ziffer ohne Rest Teilbahr!");
    31. }
    32. else{
    33. System.out.println("\n Die Zahl ist NICHT durch ihre erste Ziffer ohne Rest Teilbar!");
    34. }
    35. if(er2 != 0 && zahl % ziffer2 ==0){
    36. System.out.println( "\n Die Zahl ist durch ihre zweite Ziffer ohne Rest Teilbahr!");
    37. }
    38. else{
    39. System.out.println("\n Die Zahl ist NICHT durch ihre zweite Ziffer ohne Rest Teilbar!");
    40. }
    41. if(er3 != 0 && zahl % ziffer3 ==0){
    42. System.out.println( "\n Die Zahl ist durch ihre dritte Ziffer ohne Rest Teilbahr!");
    43. }
    44. else{
    45. System.out.println("\n Die Zahl ist NICHT durch ihre dritte Ziffer ohne Rest Teilbar!\n\n");
    46. }
    47. System.out.println("---------------------------------------");
    48. }
    49. else
    50. {
    51. System.out.println("");
    52. System.out.println(" -----------------------------------------------");
    53. System.out.println(" -----------------------------------------------");
    54. System.out.println(" Ihre Zahl muss zwischen 100 und 999 liegen !!!");
    55. System.out.println(" -----------------------------------------------");
    56. System.out.println(" -----------------------------------------------");
    57. }
    58. }
    59. }
    60. }
    Alles anzeigen
  • Also als erstes mal ist der Code fehlerhaft :)
    Als zweites, warum so kompliziert wenns auch einfacher geht ^^

    PHP-Quellcode

    1. public class Zahl {
    2. static public void main(String[] args) {
    3. int zahl = 0, eingabe = 0;
    4. int hunderter = 0, einer = 0, zehner = 0;
    5. while (true) {
    6. System.out
    7. .print("\nBitte geben sie eine Zahl zwischen 100 und 999 ein!: ");
    8. eingabe = new StdIn();
    9. zahl = eingabe;
    10. if (zahl > 100 && zahl < 999) {
    11. einer = eingabe % 10;
    12. eingabe = eingabe / 10;
    13. zehner = eingabe % 10;
    14. hunderter = eingabe / 10;
    15. System.out.print("\n\n 1.ZIFFER: " + hunderter
    16. + "\n 2.ZIFFER: " + zehner + "\n 3.ZIFFER: " + einer
    17. + "\n\n");
    18. if (zahl % hunderter == 0) {
    19. System.out.println("\n Die Zahl " + zahl + " ist durch "
    20. + hunderter + " ohne Rest Teilbahr!");
    21. } else {
    22. System.out.println("\n Die Zahl " + zahl
    23. + " ist NICHT durch " + hunderter
    24. + " ohne Rest Teilbar!");
    25. }
    26. if (zahl % zehner == 0) {
    27. System.out.println("\n Die Zahl " + zahl + " ist durch "
    28. + zehner + " ohne Rest Teilbahr!");
    29. } else {
    30. System.out.println("\n Die Zahl " + zahl
    31. + " ist NICHT durch " + zehner
    32. + " ohne Rest Teilbar!");
    33. }
    34. if (zahl % einer == 0) {
    35. System.out.println("\n Die Zahl " + zahl + " ist durch "
    36. + einer + " ohne Rest Teilbahr!");
    37. } else {
    38. System.out.println("\n Die Zahl " + zahl
    39. + " ist NICHT durch " + einer
    40. + " ohne Rest Teilbar!\n\n");
    41. }
    42. System.out.println("---------------------------------------");
    43. } else {
    44. System.out.println("");
    45. System.out
    46. .println(" -----------------------------------------------");
    47. System.out
    48. .println(" -----------------------------------------------");
    49. System.out
    50. .println(" Ihre Zahl muss zwischen 100 und 999 liegen !!!");
    51. System.out
    52. .println(" -----------------------------------------------");
    53. System.out
    54. .println(" -----------------------------------------------");
    55. }
    56. }
    57. }
    58. }
    Alles anzeigen


    Hab ein paar Anpassungen gemacht ;)