Compare commits
5 Commits
519bc165dd
...
neueIdeen
| Author | SHA1 | Date | |
|---|---|---|---|
| 48c93b9b79 | |||
| fbb22de72a | |||
| 91c0e69df6 | |||
| 98abf5c8e9 | |||
| 3fa88b6a5c |
Generated
+3
@@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
Generated
+6
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_14" default="false" project-jdk-name="openjdk-15" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
Generated
+8
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/GDP-Uebungen.iml" filepath="$PROJECT_DIR$/GDP-Uebungen.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
Generated
+6
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/GDP_Gesamt/src" isTestSource="false" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -6,7 +6,7 @@ public class Aufgabe4 {
|
||||
|
||||
public static void main(String[] args) {
|
||||
int timeout = 150; // milliseconds
|
||||
int[] testValues = {2,34,134,4,53,11,87,142,742,115,00,411,61,33,23456,2346,12,6234562,4562,4562,56245,62456,2456,24562,1,1345,13451,435,1345,1345,134,51345,134513,451,345};
|
||||
int[] testValues = {2,34,134,4,53,11,87,142,742,115,00,411,61,33,23456,2346,12,4562,4562,56245,62456,2456,24562};
|
||||
Arrays.sort(testValues);
|
||||
for (int value:testValues){
|
||||
int result = binarySearch(testValues,value, timeout);
|
||||
@@ -17,32 +17,34 @@ public class Aufgabe4 {
|
||||
System.out.println("Searching for " + value);
|
||||
printArray(inputArray);
|
||||
int res=-1;
|
||||
int rangeMax=inputArray.length-1, rangeMin=0,center,modulo;
|
||||
int rangeMax=inputArray.length-1, rangeMin=0,center=0;
|
||||
int diff;
|
||||
long lastdate=0;
|
||||
while(true){
|
||||
while(res < 0){
|
||||
Date date = new Date();
|
||||
long deltaT = date.getTime()-lastdate;
|
||||
if(deltaT>timeout) {
|
||||
lastdate = date.getTime();
|
||||
modulo = (rangeMax - rangeMin) % 2;
|
||||
center = rangeMin + (rangeMax - rangeMin) / 2 + modulo;
|
||||
infoGraphic( value, center, rangeMin, rangeMax, modulo, inputArray);
|
||||
diff = (rangeMax - rangeMin) / 2; // intermediate value
|
||||
if (diff==0) {
|
||||
if (value == inputArray[center]) {
|
||||
res = center;
|
||||
break;
|
||||
}
|
||||
else if (value == rangeMax){
|
||||
res = rangeMax;
|
||||
break;
|
||||
else {
|
||||
res = center+1;
|
||||
center +=1; // not needed
|
||||
}
|
||||
else if (value == rangeMin){
|
||||
res = rangeMin;
|
||||
break;
|
||||
}
|
||||
else if (value < inputArray[center])
|
||||
rangeMax = center;
|
||||
else if (value > inputArray[center])
|
||||
else {
|
||||
center = rangeMin + diff;
|
||||
}
|
||||
|
||||
infoGraphic(value, center, rangeMin, rangeMax, rangeMax, inputArray);
|
||||
if (value >= inputArray[center]) {
|
||||
rangeMin = center;
|
||||
} else {
|
||||
rangeMax = center;
|
||||
}
|
||||
}
|
||||
}
|
||||
return res;
|
||||
@@ -64,7 +66,11 @@ public class Aufgabe4 {
|
||||
int maxlength=maxLength(array);
|
||||
System.out.print("P|");
|
||||
for(int i=0; i<array.length;i++){
|
||||
if(i==center)
|
||||
if(i==max&i==center)
|
||||
System.out.print(fixedLengthString("C,<", maxlength, false));
|
||||
else if(i==min&i==center)
|
||||
System.out.print(fixedLengthString(">,C", maxlength, false));
|
||||
else if(i==center)
|
||||
System.out.print(fixedLengthString("C", maxlength, false));
|
||||
else if(i==max)
|
||||
System.out.print(fixedLengthString("<", maxlength, false));
|
||||
@@ -73,7 +79,7 @@ public class Aufgabe4 {
|
||||
else
|
||||
System.out.print(fixedLengthString(" ", maxlength, false));
|
||||
}
|
||||
System.out.println(" MOD: "+modulo);
|
||||
System.out.println("center: "+center+" MOD: "+modulo+" min: "+min+" max:"+max);
|
||||
}
|
||||
public static String fixedLengthString(String string, int length){
|
||||
return fixedLengthString( string, length, true);
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
package Uebungen.Uebung5;
|
||||
|
||||
public class Aufgabe5 {
|
||||
public static double verdienst(double stunden, double lohn, double faktor) {
|
||||
// 5.1 return: an inline if condition is executed
|
||||
// if stunden are equal or lower than 8, stunden*lohn gets returnt
|
||||
// else stunden above 8 are added and mutliplied by factor and the result gets multiplied by lohn
|
||||
return stunden <= 8.0
|
||||
? stunden * lohn
|
||||
: (8.0 + faktor * (stunden - 8.0)) * lohn;
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
final double lohn = 15.0;
|
||||
final double faktor = 1.15;
|
||||
double[] stundenArray = {8.0,8.0,9.0,9.0,6.0,8.0 };
|
||||
System.out.println("Der aktuelle verdienst beträgt: " + gesamtVerdienst(stundenArray,lohn,faktor));
|
||||
stundenArray = anfuegen(stundenArray,4.0);
|
||||
System.out.println("Der aktuelle verdienst beträgt: " + gesamtVerdienst(stundenArray,lohn,faktor));
|
||||
stundenArray = entfernen(stundenArray,6);
|
||||
System.out.println("Der aktuelle verdienst beträgt: " + gesamtVerdienst(stundenArray,lohn,faktor));
|
||||
stundenArray = entfernen(stundenArray,0);
|
||||
System.out.println("Der aktuelle verdienst beträgt: " + gesamtVerdienst(stundenArray,lohn,faktor));
|
||||
}
|
||||
public static double[] anfuegen(double[] inputArray, double addedDouble){
|
||||
double[] outputArray = new double[inputArray.length+1];
|
||||
for(int i=0;i<inputArray.length;i++)
|
||||
outputArray[i] = inputArray[i];
|
||||
outputArray[inputArray.length]=addedDouble;
|
||||
System.out.println("Das Element mit dem Index " + inputArray.length + " und dem Wert " + addedDouble + " wurde hinzugefügt!");
|
||||
printArray(outputArray);
|
||||
return outputArray;
|
||||
}
|
||||
public static double[] entfernen(double[] inputArray, int delIndex){
|
||||
double[] outputArray = new double[inputArray.length-1];
|
||||
for(int i=0;i<outputArray.length;i++)
|
||||
if(i>=delIndex)
|
||||
outputArray[i] = inputArray[i+1];
|
||||
else
|
||||
outputArray[i] = inputArray[i];
|
||||
System.out.println("Das Element mit dem Index " + delIndex + " und dem Wert " + inputArray[delIndex] + " wurde entfernt!");
|
||||
printArray(outputArray);
|
||||
return outputArray;
|
||||
}
|
||||
public static double gesamtVerdienst(double[] inputArray, double lohn, double faktor){
|
||||
double res = 0;
|
||||
for(double stunden:inputArray){
|
||||
res += verdienst(stunden, lohn, faktor);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
public static void printArray(double[] inputArray){
|
||||
for(int i=0; i<inputArray.length;i++){
|
||||
System.out.print(Double.toString(inputArray[i]) + "| ");
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user