Skip to content
Snippets Groups Projects
Commit c6422b79 authored by BAUER Oscar's avatar BAUER Oscar
Browse files

td13 terminé

parent 94bae689
No related branches found
No related tags found
No related merge requests found
Showing with 339 additions and 0 deletions
package td13.exo1;
public class CharUtils{
public static void print(char t[]){
for(char c : t)
System.out.print(c + " ");
System.out.println("");
}
public static void print(int t[]){
for(int idx = 0; idx < t.length; idx++)
if(idx >8)
System.out.print(" " + t[idx] + " ");
else
System.out.print(t[idx] + " ");
// for(int i : t)
// System.out.print(i + " ");
System.out.println("");
}
public static void swap(char t[], int index1, int index2){
char c1 = t[index1];
t[index1] = t[index2];
t[index2] = c1;
}
static void fillWithRandomRGB(char t[]){
// t[0] =(char) (Math.random() * 255);
// t[1] =(char) (Math.random() * 255);
// t[2] =(char) (Math.random() * 255);
for (int idx = 0; idx < t.length; idx++){
int num = (int)(Math.random() * 2 + 0.5);
if (num == 0) t[idx] = 'R';
if (num == 1) t[idx] = 'G';
if (num == 2) t[idx] = 'B';
}
}
static void mystery(char t[]) {
int i = 0;
int j = 0;
int k = t.length - 1;
while (j <= k) {
if (t[j] == 'R') {
swap(t, i, j);
i++;
j++;
} else if (t[j] == 'G') {
j++;
} else {
swap(t, j, k);
k--;
}
}
}
}
package td13.exo1;
import java.util.Scanner;
public class TestCharUtils {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("donnes moi la taille!");
int taille = scanner.nextInt();
char[] t = new char[taille];
CharUtils.fillWithRandomRGB(t);
CharUtils.print(t);
CharUtils.mystery(t);
CharUtils.print(t);
}
}
\ No newline at end of file
package td13.exo2;
public class Calculator {
public static void main(String[] args) {
int num1 = Integer.valueOf(args[0]);
int num2 = Integer.valueOf(args[2]);
// char sign = (char) Integer.valueOf(args[1]).intValue();
int num3 = 0;
if (args[1].equals("+")) {
num3 = num1 + num2;
}
if (args[1].equals("-")) {
num3 = num1 - num2;
}
if (args[1].equals("*")) {
num3 = num1 * num2;
}
System.out.println(args[0]+ " " +args[1] + " " +args[2] + " = " + num3);
}
}
package td13.exo3;
import java.util.HashSet;
import java.util.Random;
public class SortUtils {
public static void initializeRandomly(char[] letters) {
for (int idx = 0; idx < letters.length; idx++) {
Random rand = new Random();
letters[idx] = (char) ('a' + rand.nextInt(26));
}
}
public static char[] initializeRandomly(int size) {
char[] letters = new char[size];
for (int idx = 0; idx < letters.length; idx++) {
Random rand = new Random();
letters[idx] = (char) ('a' + rand.nextInt(26));
}
return letters;
}
public static int[] initializeOccurenceArray(char[] array) {
HashSet<Character> set = new HashSet<Character>();
for (char c : array)
set.add(c);
return new int[set.size()];
}
public static int[] initializeOccurenceArray(int size) {
return new int[size];
}
public static void countOccurrences(char[] letters, int[] occurrences) {
for (char c : letters)
occurrences[c - 'a']++;
}
public static void fillSortedResult(int[] occurrences, char[] result) {
int k = 0;
for (int idx = 0; idx < occurrences.length; idx++) {
for (int num = 0; num < occurrences[idx]; num++) {
result[k] = (char) (idx + 'a');
k++;
}
}
}
}
package td13.exo3;
import td13.exo1.CharUtils;
public class TestSortUtils {
public static void main(String[] args) {
int size = 10;
char[] ccc = SortUtils.initializeRandomly(size);
CharUtils.print(ccc);
int[] occurrences = SortUtils.initializeOccurenceArray(26);
SortUtils.countOccurrences(ccc, occurrences);
CharUtils.print(occurrences);
for (int i = 1; i <= 26; i++)
System.out.print(i + " ");
System.out.println();
char[] result = new char[size];
SortUtils.fillSortedResult(occurrences, result);
CharUtils.print(result);
}
}
package td13.exo3;
public class fiddling {
public static void main(String[] args) {
int[] array = new int[3];
for(int i : array)
System.out.println(i);
}
}
package td13.exo4;
public class NumberEater {
private final int number;
NumberEater successor;
public NumberEater(int number) {
this.number = number;
System.out.print(number + " ");
successor = null;
}
public void eat(int other) {
if(other % number !=0 && successor == null) {
successor = new NumberEater(other);
}
if(other % number !=0 && successor != null)
successor.eat(other);
}
}
package td13.exo4;
import java.util.Scanner;
public class TestNumberEater {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("donnes moi une integer > 2");
int fin = scanner.nextInt();
NumberEater eater1 = new NumberEater(2);
for(int i = 3; i <= fin; i++) {
eater1.eat(i);
}
}
}
package td13.exo5;
import java.math.BigInteger;
public class Fraction {
BigInteger numerator;
BigInteger denominator;
public Fraction(BigInteger numerator, BigInteger denominator) {
this.numerator = numerator;
this.denominator = denominator;
}
public Fraction(int numerator, int denominator) {
this.numerator = BigInteger.valueOf(numerator);
this.denominator = BigInteger.valueOf(denominator);
}
public Fraction(int numerator) {
this.numerator = BigInteger.valueOf(numerator);
this.denominator = BigInteger.ONE;
}
public Fraction add(Fraction f) {
if (this.denominator == f.denominator)
return new Fraction(this.numerator.add(f.numerator), this.denominator);
BigInteger numTmp = (this.numerator.multiply(f.denominator)).add(f.numerator.multiply(this.denominator));
BigInteger denTmp = this.denominator.multiply(f.denominator);
for (BigInteger factor = numTmp.min(denTmp); factor.compareTo(BigInteger.ONE) >= 0; factor = factor
.subtract(BigInteger.ONE)) {
boolean compNum = numTmp.mod(factor) == BigInteger.ZERO;
boolean compDen = denTmp.mod(factor) == BigInteger.ZERO;
if (compNum && compDen)
return new Fraction(numTmp.divide(factor), denTmp.divide(factor));
}
return null;
}
public Fraction substract(Fraction f) {
if (this.denominator == f.denominator)
return new Fraction(this.numerator.subtract(f.numerator), this.denominator);
BigInteger numTmp = (this.numerator.multiply(f.denominator)).subtract(f.numerator.multiply(this.denominator));
BigInteger denTmp = this.denominator.multiply(f.denominator);
for (BigInteger factor = numTmp.min(denTmp); factor.compareTo(BigInteger.ONE) >= 0; factor = factor
.subtract(BigInteger.ONE)) {
boolean compNum = numTmp.mod(factor) == BigInteger.ZERO;
boolean compDen = denTmp.mod(factor) == BigInteger.ZERO;
if (compNum && compDen)
return new Fraction(numTmp.divide(factor), denTmp.divide(factor));
}
return null;
}
public Fraction multiply(Fraction f) {
return new Fraction(this.numerator.multiply(f.numerator), this.denominator.multiply(f.denominator));
}
public Fraction divide(Fraction f) {
return new Fraction(this.numerator.multiply(f.denominator), this.denominator.multiply(f.numerator));
}
@Override
public String toString() {
return numerator + " / " + denominator;
}
public double doubleValue() {
BigInteger frac = numerator.multiply(BigInteger.valueOf(1000)).divide(denominator);
return frac.doubleValue() / 1000;
}
}
package td13.exo5;
import java.math.BigInteger;
public class TestFraction {
public static void main(String[] args) {
BigInteger big1= BigInteger.valueOf(5);
BigInteger big2= big1.add(BigInteger.valueOf(2));
BigInteger big3= BigInteger.valueOf(2);
System.out.println(big1.multiply(BigInteger.TEN).divide(big3));
System.out.println(big1.divide(big3).doubleValue());
// test add
Fraction f1 = new Fraction(BigInteger.valueOf(8), BigInteger.valueOf(6));
Fraction f2 = new Fraction(BigInteger.valueOf(6), BigInteger.valueOf(4));
System.out.println(f1.add(f2));
}
}
public class hallo {
public static void main(String[] args) {
for (String str : args)
System.out.println(str);
System.out.println("test");
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment