Advertisement
Guest User

ISBN-Überprüfung

a guest
Mar 21st, 2019
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.18 KB | None | 0 0
  1. package csv;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.File;
  5. import java.io.FileReader;
  6.  
  7. public class ISBN_Prüfung {
  8.  
  9. public static void main(String[] args) {
  10. String[][] buchliste = new String[8][4];
  11. String path = "F:\\SySo\\Java\\Workspace\\Allgemeine Aufgaben\\src\\csv\\Bücher.csv";
  12.  
  13. try{
  14. @SuppressWarnings("resource")
  15. BufferedReader FileReader = new BufferedReader(new FileReader(new File(path)));
  16. int i = 0;
  17. String zeile = "";
  18.  
  19. while(null!=(zeile=FileReader.readLine())){
  20. buchliste[i] = zeile.split(";");
  21. for (String col: buchliste[i]){
  22. System.out.print(col + " # ");
  23. }
  24. System.out.println();
  25. i++;
  26. }
  27.  
  28. } catch (Exception e){
  29. e.printStackTrace();
  30. }
  31.  
  32. System.out.println("Einlesen der CSV Datei erfolgreich. Führe Prüfung durch...");
  33.  
  34. char isbnZiffern[][] = new char[7][];
  35.  
  36. int anzahl = buchliste.length-1;
  37.  
  38. for(int i = 0; i < anzahl; i++){
  39. isbnZiffern[i] = buchliste[i+1][2].toCharArray();
  40. }
  41.  
  42. int prüfziffern[] = new int[isbnZiffern.length];
  43.  
  44. // z10=(i=1-9) i*zi)modulo 11
  45. for(int i = 0; i < isbnZiffern.length; i++){
  46. for(int j = 0; j < isbnZiffern[i].length-1; j++){
  47. prüfziffern[i] += (j+1)*(isbnZiffern[i][j] - '0');
  48. }
  49. prüfziffern[i] %= 11;
  50. System.out.println("Prüfziffer " + (i+1) + ": " + prüfziffern[i]);
  51. }
  52.  
  53. for(int i = 0; i < isbnZiffern.length; i++){
  54. if(isbnZiffern[i].length == 10){
  55. if(isbnZiffern[i][9] == 'X'){
  56. if(prüfziffern[i] == 10){
  57. System.out.println("ISBN Nr. " + (i+1) + " ist richtig.");
  58. } else {
  59. System.out.print("Prüfziffer Nr. " + (i+1) + " ist fehlerhaft: ");
  60. for(char c : isbnZiffern[i]){
  61. System.out.print(c);
  62. } System.out.println();
  63. }
  64. } else {
  65. if(isbnZiffern[i][9] - '0' == prüfziffern[i]){
  66. System.out.println("ISBN Nr. " + (i+1) + " ist richtig.");
  67. } else {
  68. System.out.print("Prüfziffer Nr. " + (i+1) + " stimmt nicht überrein: ");
  69. for(char c : isbnZiffern[i]){
  70. System.out.print(c);
  71. } System.out.println();
  72. }
  73. }
  74.  
  75. } else {
  76. System.out.print("ISBN Nr. " + (i+1) + " hat die falsche Länge: ");
  77. for(char c : isbnZiffern[i]){
  78. System.out.print(c);
  79. } System.out.println();
  80. }
  81. }
  82.  
  83. System.out.println();
  84. System.out.println("Start von Aufgabe 2");
  85. System.out.println();
  86.  
  87. char isbn13Ziffern[][] = new char[7][];
  88.  
  89. for(int i = 0; i < anzahl; i++){
  90. isbn13Ziffern[i] = buchliste[i+1][3].toCharArray();
  91. }
  92.  
  93. int prüfziffern13[] = new int[isbn13Ziffern.length];
  94. int strich;
  95.  
  96. // z10=(i=1-9) i*zi)modulo 11
  97. for(int i = 0; i < isbn13Ziffern.length; i++){
  98. strich = 0;
  99. for(int j = 0; j < isbn13Ziffern[i].length-1; j++){
  100. if(j != 3){
  101. if((j-strich) % 2 == 0 || j == 0){
  102. prüfziffern13[i] += isbn13Ziffern[i][j] - '0';
  103. } else {
  104. prüfziffern13[i] += 3*(isbn13Ziffern[i][j] - '0');
  105. }
  106. } else strich++;
  107. }
  108. prüfziffern13[i] %= 10;
  109. prüfziffern13[i] = 10-prüfziffern13[i];
  110. if(prüfziffern13[i] == 10){
  111. prüfziffern13[i] = 0;
  112. }
  113. System.out.println("Prüfziffer " + (i+1) + ": " + prüfziffern13[i]);
  114. }
  115.  
  116. for(int i = 0; i < isbn13Ziffern.length; i++){
  117. if(isbn13Ziffern[i].length == 14){
  118. if(isbn13Ziffern[i][13] == 'X'){
  119. if(prüfziffern13[i] == 10){
  120. System.out.println("ISBN-13 Nr. " + (i+1) + " ist richtig.");
  121. } else {
  122. System.out.print("Prüfziffer Nr. " + (i+1) + " stimmt nicht überein: ");
  123. for(char c : isbn13Ziffern[i]){
  124. System.out.print(c);
  125. } System.out.println();
  126. }
  127. } else {
  128. if(isbn13Ziffern[i][13] - '0' == prüfziffern13[i]){
  129. System.out.println("ISBN-13 Nr. " + (i+1) + " ist richtig.");
  130. } else {
  131. System.out.print("Prüfziffer Nr. " + (i+1) + " stimmt nicht überein: ");
  132. for(char c : isbn13Ziffern[i]){
  133. System.out.print(c);
  134. } System.out.println();
  135. }
  136. }
  137.  
  138. } else {
  139. System.out.print("ISBN Nr. " + (i+1) + " hat die falsche Länge: ");
  140. for(char c : isbn13Ziffern[i]){
  141. System.out.print(c);
  142. } System.out.println();
  143. }
  144. }
  145.  
  146. }
  147.  
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement