Files
2023-02-14 13:53:56 +00:00

102 lines
2.8 KiB
Java

// "Fix all 'Stream API call chain can be replaced with loop' problems in file" "true"
import java.util.ArrayList;
import java.util.function.Supplier;
import java.util.IntSummaryStatistics;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class Main {
public static IntSummaryStatistics test() {
IntSummaryStatistics stat = new IntSummaryStatistics();
long limit = 20;
for (String x = ""; ; x = x + "a") {
if (limit-- == 0) break;
int length = x.length();
stat.accept(length);
}
return stat;
}
public static List<String> testUseName() {
/*limit*/
List<String> list = new ArrayList<>();
long limit = 20;
for (String x = ""; ; x = x /* add "a" */ + "a") {
if (limit-- == 0) break;
list.add(x);
}
return list;
}
public static IntSummaryStatistics testNested() {
IntSummaryStatistics stat = new IntSummaryStatistics();
for (int limit = 0; limit < 20; limit++) {
long limitInner = limit;
for (String x = ""; ; x = x + limit) {
if (limitInner-- == 0) break;
int length = x.length();
stat.accept(length);
}
}
return stat;
}
private static List<String> testNestedUseName() {
List<String> list = new ArrayList<>();
for (int x = 0; x < 20; x++) {
Integer i = x;
long limit = i;
for (String str = ""; ; str = "a" + str) {
if (limit-- == 0) break;
list.add(str);
}
}
return list;
}
public static IntSummaryStatistics testNestedRename() {
IntSummaryStatistics stat = new IntSummaryStatistics();
for (int x = 0; x < 20; x++) {
if (x > 2) {
long limit = x;
for (String s = String.valueOf(x); ; s = s + x) {
if (limit-- == 0) break;
int length = s.length();
stat.accept(length);
}
}
}
return stat;
}
static void print(Supplier<String> messageSupplier) {
System.out.println(messageSupplier.get());
}
public static void main(String[] args) {
System.out.println(test());
System.out.println(testUseName());
System.out.println(testNested());
System.out.println(testNestedRename());
System.out.println(String.join("|", testNestedUseName()).length());
// convert to loop
for (int j = 1; j < 2; j++) {
int x1 = j;
if (x1 > 0) {
print(() -> "attempt #" + x1);
}
}
// convert to loop
for (int x = 1; x < 2; x++) {
if (x > 0) {
int i = x + 1;
print(() -> "attempt #" + i);
}
}
}
}