Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions assignment/Eight.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
public class Eight {
public static void main(String[] args) {
long id = 101L;
String sql = """
SELECT id, name
FROM users
WHERE id = %d
AND status = 'ACTIVE'
ORDER BY name ASC;
""";
String finalQuery = sql.formatted(id);
System.out.println(finalQuery);
}
}
24 changes: 24 additions & 0 deletions assignment/Fifth.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import java.util.Optional;

record Users(String name, boolean isActive) {}

public class Fifth {
public static void main(String[] args) {
String targetId = "user123";

findUser(targetId)
.filter(Users::isActive)
.map(Users::name)
.ifPresentOrElse(
System.out::println,
() -> System.out.println("User not found")
);
}

static Optional<Users> findUser(String id) {
if ("user123".equals(id)) {
return Optional.of(new Users("Ansh", false));
}
return Optional.empty();
}
}
26 changes: 26 additions & 0 deletions assignment/First.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
interface NotificationService {
void send(String message);

default void sendWithRetry(String message, int retries) {
for (int i = 1; i <= retries; i++) {
try {
send(message);
return;
} catch (Exception e) {
System.out.println("Attempt " + i + " failed.");
}
}
}
}

public class First {
public static void main(String[] args) {
NotificationService service = (msg) -> {
if (Math.random() > 0.5) throw new RuntimeException();
System.out.println("Sent: " + msg);
};

service.sendWithRetry("Quick Test", 3);
}

}
18 changes: 18 additions & 0 deletions assignment/Fourth.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import java.util.List;
import java.util.function.Predicate;

public class Fourth {
public static void main(String[] args) {
List<Integer> numbers = List.of(-10, -5, 0, 2, 4, 7, 10, 15);

Predicate<Integer> isPositive = n -> n > 0;
Predicate<Integer> isEven = n -> n % 2 == 0;

Predicate<Integer> isPositiveEven = isPositive.and(isEven);

numbers.stream()
.filter(isPositiveEven)
.forEach(System.out::println);

}
}
20 changes: 20 additions & 0 deletions assignment/Second.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
@FunctionalInterface
interface StringValidator {
boolean check(String s);
}

public class Second {
public static void main(String[] args) {
String input = "Java17";

validate(input, s -> !s.isEmpty());

validate(input, s -> s.length() > 5);

validate(input, s -> Character.isUpperCase(s.charAt(0)));
}

static void validate(String val, StringValidator validator) {
System.out.println("Input: " + val + " | Result: " + validator.check(val));
}
}
27 changes: 27 additions & 0 deletions assignment/Seventh.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
sealed interface Payment permits CardPayment, UpiPayment {}

final class CardPayment implements Payment {
String number = "1234-5678";
}

final class UpiPayment implements Payment {
String id = "user@upi";
}

public class Seventh {
public static void main(String[] args) {
Payment pay1 = new CardPayment();
Payment pay2 = new UpiPayment();

process(pay1);
process(pay2);
}

public static void process(Payment p) {
if (p instanceof CardPayment c) {
System.out.println("Using Card: " + c.number);
} else if (p instanceof UpiPayment u) {
System.out.println("Using UPI: " + u.id);
}
}
}
38 changes: 38 additions & 0 deletions assignment/Sixth.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import java.util.HashSet;
import java.util.Set;

record Employee(long id, double salary) {
private static long idGenerator = 100;
private static final Set<Long> uniqueIds = new HashSet<>();

public Employee {
if (salary <= 0) throw new IllegalArgumentException("Salary must be positive!");
uniqueIds.add(id);
}

public static Employee create(double salary) {
return new Employee(++idGenerator, salary);
}

public static int getUniqueEmployeeCount() {
return uniqueIds.size();
}

public static Set<Long> getAllIds() {
return uniqueIds;
}
}

public class Sixth {
public static void main(String[] args) {
Employee emp1 = Employee.create(50000.0);
Employee emp1Updated = new Employee(emp1.id(), 60000.0);
Employee emp2 = Employee.create(75000.0);

System.out.println("Total Unique IDs: " + Employee.getUniqueEmployeeCount());
System.out.println("List of Employee IDs: " + Employee.getAllIds());

System.out.println(emp1.hashCode());
System.out.println(emp1Updated.hashCode());
}
}
34 changes: 34 additions & 0 deletions assignment/Third.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import java.util.List;

class User {
private String name;
private int age;

public User(String name, int age) {
this.name = name;
this.age = age;
}

public String getName() { return name; }
public int getAge() { return age; }
}

public class Third {
public static void main(String[] args) {
List<User> users = List.of(
new User("Tanishq", 22),
new User("Ansh", 17),
new User("Priyanshu", 25),
new User("Akash", 40)
);

List<String> result = users.stream()
.filter(u -> u.getAge() >= 18)
.map(User::getName)
.map(String::toUpperCase)
.sorted()
.toList();

System.out.println(result);
}
}