Commit 3259ce39 by Patryk Czarnik

palindrom i inne funkcje

parent d88e2e05
package p07_funkcje;
import java.util.Scanner;
public class Palindrom {
static boolean palindrom(String napis) {
for(int left = 0, right = napis.length()-1; left < right; left++, right--) {
if(napis.charAt(left) != napis.charAt(right)) {
return false;
}
}
return true;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Pusty tekst kończy program");
while(true) {
System.out.println("Podaj tekst:");
String txt = scanner.nextLine();
if(txt.isEmpty()) break;
if(palindrom(txt)) {
System.out.println("Tekst JEST palindromem");
} else {
System.out.println("Tekst NIE jest palindromem");
}
}
System.out.println("Koniec");
}
}
package p07_funkcje;
import java.util.Scanner;
public class UtworzNapis {
static String ciagLiczb(int limit) {
// Funkcja zwraca napis składający się z liczb od 1 do n włącznie
// rozdzielonych spacją (dopuszczamy spację na samym końcu)
// "1 2 3 4 5 "
String napis = "";
for(int i = 1; i <= limit; i++) {
// to jest niewydajne
napis += i + " "; // napis = napis + i + " " → komilator zamienia to na użycie StringBuildera, ale każdym obrocie pętli nowego
}
return napis;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("\nPodaj argument (ujemny kończy): ");
int arg = scanner.nextInt();
if(arg < 0) break;
long p = System.nanoTime();
var wynik = ciagLiczb(arg);
long k = System.nanoTime();
System.out.printf("Wynik ma %d znaków. Czas działania: %.3f s\n", wynik.length(), (k-p)*1e-9);
if(wynik.length() <= 1000) {
System.out.println(wynik);
}
}
}
}
package p07_funkcje;
import java.util.Scanner;
public class UtworzNapisBuilder {
static String ciagLiczb(int limit) {
StringBuilder napis = new StringBuilder();
for(int i = 1; i <= limit; i++) {
napis.append(i).append(' ');
}
return napis.toString();
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("\nPodaj argument (ujemny kończy): ");
int arg = scanner.nextInt();
if(arg < 0) break;
long p = System.nanoTime();
var wynik = ciagLiczb(arg);
long k = System.nanoTime();
System.out.printf("Wynik ma %d znaków. Czas działania: %.3f s\n", wynik.length(), (k-p)*1e-9);
if(wynik.length() <= 1000) {
System.out.println(wynik);
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment