diff options
| author | mzuenni <michi.zuendorf@gmail.com> | 2022-06-27 17:19:28 +0200 |
|---|---|---|
| committer | mzuenni <michi.zuendorf@gmail.com> | 2022-06-27 17:19:28 +0200 |
| commit | 5ab8a5088b729a9953b8dff1b2a985dc8fb2098b (patch) | |
| tree | ed40d6936c0e9eee40ba62751cbf99ecddbaddc2 /java | |
| parent | adabbad9c51cf7cd3874bfde8eac1fbcf84fec10 (diff) | |
updated tcr
Diffstat (limited to 'java')
| -rw-r--r-- | java/bigInteger.java | 25 | ||||
| -rw-r--r-- | java/inputA.java | 4 | ||||
| -rw-r--r-- | java/inputB.java | 7 | ||||
| -rw-r--r-- | java/java.tex | 37 | ||||
| -rw-r--r-- | java/output.java | 7 |
5 files changed, 80 insertions, 0 deletions
diff --git a/java/bigInteger.java b/java/bigInteger.java new file mode 100644 index 0000000..28490bf --- /dev/null +++ b/java/bigInteger.java @@ -0,0 +1,25 @@ +// Berechnet this +,*,/,- val. +BigInteger add(BigInteger val), multiply(BigInteger val), + divide(BigInteger val), substract(BigInteger val) + +// Berechnet this^e. +BigInteger pow(BigInteger e) + +// Bit-Operationen. +BigInteger and(BigInteger val), or(BigInteger val), xor(BigInteger val), + not(), shiftLeft(int n), shiftRight(int n) + +// Berechnet den ggT von abs(this) und abs(val). +BigInteger gcd(BigInteger val) + +// Berechnet this mod m, this^-1 mod m, this^e mod m. +BigInteger mod(BigInteger m), modInverse(BigInteger m), + modPow(BigInteger e, BigInteger m) + +// Berechnet die nächste Zahl, die größer und wahrscheinlich prim ist. +BigInteger nextProbablePrime() + +// Berechnet int/long/float/double-Wert. +// Ist die Zahl zu großen werden die niedrigsten Bits konvertiert. +int intValue(), long longValue(), +float floatValue(), double doubleValue()
\ No newline at end of file diff --git a/java/inputA.java b/java/inputA.java new file mode 100644 index 0000000..6616c89 --- /dev/null +++ b/java/inputA.java @@ -0,0 +1,4 @@ +Scanner in = new Scanner(System.in); // java.util.Scanner +String line = in.nextLine(); // Die nächste Zeile. +int num1 = in.nextInt(); // Das nächste Token als int. +double num2 = in.nextDouble(); // Das nächste Token als double.
\ No newline at end of file diff --git a/java/inputB.java b/java/inputB.java new file mode 100644 index 0000000..9175d56 --- /dev/null +++ b/java/inputB.java @@ -0,0 +1,7 @@ +BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); +String line = in.readLine(); // Die nächste Zeile. +String[] parts = line.split(" "); // Zeile in Tokens aufspalten. +int num1 = Integer.parseInt(in.readLine); +int num2 = Integer.parseInt(parts[0]); +double num3 = Double.parseDouble(in.readLine); +double num4 = Double.parseDouble(parts[0]);
\ No newline at end of file diff --git a/java/java.tex b/java/java.tex new file mode 100644 index 0000000..af8a024 --- /dev/null +++ b/java/java.tex @@ -0,0 +1,37 @@ +\section{Java} +\lstset{language=Java} + +\optional{ +\subsection{Introduction} + +\begin{itemize} + \item Compilen: \code{javac main.java} + \item Ausführen: \code{java main < sample.in} +\end{itemize} +} + +\subsection{Input} +\begin{itemize} + \item \code{Scanner} ist sehr langsam. Nicht für lange Eingaben verwenden +\end{itemize} +\optional{ +\lstinputlisting{java/inputA.java} +\lstinputlisting{java/inputB.java} +} + +\subsection{Output} +\begin{itemize} + \item \code{System.out} flusht nach jeder newline $\Rightarrow$ langsam + \item \code{String.format} langsam + \item \code{+} auf \code{String} benutzt \code{StringBuilder} $\Rightarrow$ schnell und leicht \\(bei vielen \code{+}-Operationen an unterschiedlichen Stellen doch explizit \code{StringBuilder} nutzen) +\end{itemize} +\optional{ +\lstinputlisting{java/output.java} +} + +\optional{ +\subsection{BigInteger} +\lstinputlisting{java/bigInteger.java} +} + +\lstset{language=C++} diff --git a/java/output.java b/java/output.java new file mode 100644 index 0000000..a068d8d --- /dev/null +++ b/java/output.java @@ -0,0 +1,7 @@ +//gepufferter nicht autoatischer flushender output +PrintWriter out = new PrintWriter(new BufferedWriter( + new OutputStreamWriter(new FileOutputStream( + FileDescriptor.out), StandardCharsets.UTF_8), 4096)); +out.println("blub" + "a" + "b"); //zeile Ausgeben +out.println(String.format("%d %s", 5, "a")) // wie printf +out.close();//WICHTIG!
\ No newline at end of file |
