-
Notifications
You must be signed in to change notification settings - Fork 0
/
pruef.java
71 lines (64 loc) · 1.63 KB
/
pruef.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/**
* Write a description of class pruef here.
*
* @author (Cornelius, Christine, Selim)
* @version (a version number or a date)
*/
public class pruef
{
public boolean pruefen(String data){
int res = 0;
for(int i = 0; i < data.length(); i++){
if(data.charAt(i) == '1')
res ++;
}
if(res % 2 == 0)
return true;
return false;
}
public boolean quersumme(String data, int n){
int j = pruefbits(n);
int quers = 0;
for(int i = 0; i < data.length() -j; i++){
if(data.charAt(i) == '1')
quers++;
}
String sub = data.substring(data.length() -j);
if(quers % n == binToDec(sub))
return true;
return false;
}
public boolean gewQuersumme(String data, int n){
int j = pruefbits(n);
int quers = 0;
int gewicht = 1;
for(int i = data.length() -j -1; i >=0 ; i--){
if(data.charAt(i) == '1')
quers += gewicht;
gewicht++;
}
String sub = data.substring(data.length() -j);
if(quers % n == binToDec(sub))
return true;
return false;
}
public int pruefbits(int n) {
int j = 0;
int m = n;
while (m > 1){
j++;
m /= 2;
}
return j;
}
public int binToDec(String data){
int j = 0;
int res = 0;
for(int i = data.length() -1; i >= 0; i--){
if(data.charAt(i) == '1')
res += Math.pow(2, j);
j++;
}
return res;
}
}