DATE : 23/10/2024
23I311 - JAVA PROGRAMMING LABORATORY
CA 1
SET: 1:
MISSING POSITIVE NUMBER
PROGRAM:
import [Link].*;
class s {
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
int n = [Link]();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = [Link]();
boolean[] found = new boolean[n + 1];
for (int num : nums) {
if (num > 0 && num <= n) {
found[num] = true;
int missingPositive = 1;
for (int i = 1; i <= n; i++) {
if (!found[i]) {
missingPositive = i;
break;
}}
if (missingPositive == n) {
missingPositive = n + 1;
[Link](missingPositive);}}
OUTPUT:
SET : 2
ATM:
PROGRAM:
import [Link].*;
public class ATM {
public static final int[] denominations = {20, 50, 100, 200, 500};
public static int[] banknotes = new int[5];
static {
Scanner scanner = new Scanner([Link]);
for (int i = 0; i < 5; i++) {
banknotes[i] = 0;
for (int i = 0; i < 5; i++) {
banknotes[i] += [Link]();
int amount = [Link]();
int[] result = new int[5];
int[] tempBanknotes = [Link]();
for (int i = 4; i >= 0; i--) {
int maxNotes = amount / denominations[i];
int notesToUse = [Link](maxNotes, tempBanknotes[i]);
result[i] = notesToUse;
amount -= notesToUse * denominations[i];
}
if (amount == 0) {
for (int i = 0; i < 5; i++) {
banknotes[i] -= result[i];
[Link]();
public static void main(String[] args) {
OUTPUT:
SET : 3
DIAGONAL AND ADJACENT SUM
PROGRAM:
import [Link].*;
import [Link].*;
class m {
public static void main(String[] args) {
Scanner s = new Scanner([Link]);
int rs = [Link]();
int cs = [Link]();
int[][] a = new int[rs][cs];
for (int i = 0; i < rs; i++) {
for (int j = 0; j < cs; j++) {
a[i][j] = [Link]();
for (int i = 0; i < rs; i++) {
for (int j = 0; j < cs; j++) {
[Link](a[i][j] + " ");
[Link]();
int target = [Link]();
boolean found = false;
for (int i = 0; i < rs; i++) {
for (int j = 0; j < cs; j++) {
if (a[i][j] == target) {
found = true;
if (j - 1 >= 0 && j + 1 < cs && i + 1 < rs && i - 1 >= 0 && j - 1 >= 0 && j + 1 < cs && i + 1 < rs
&& i - 1 >= 0 ) {
[Link](a[i][j - 1] + a[i][j + 1] + a[i + 1][j] + a[i - 1][j]);
[Link](a[i - 1][j - 1] + a[i - 1][j + 1] + a[i + 1][j - 1] + a[i + 1][j + 1]);}
else [Link]("0");
if (!found) {
[Link]("0");
}
}
OUTPUT:
SET: 4:
STRING OPERATIONS:
import [Link].*;
class str{
public static void main(String[] args){
Scanner s = new Scanner([Link]);
String e = [Link]();
char[] arr = [Link]();
int count = [Link];
[Link](count);
String[] w = [Link]("\\s+");
int wl =[Link];
[Link](wl);
int count1 = 0;
for (char c:arr){
if (c == '.' || c == '!' || c == '?') {
count1+=1;
}
[Link](count1);
OUTPUT:
SET : 5
VIRUS INFECTION:
PROGRAM:
import [Link].*;
class v {
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
String strengths = [Link]();
int iterations = 0;
int n = [Link]();
String current = strengths;
while (true) {
char[] next = [Link]();
boolean changed = false;
for (int i = 0; i < n; i++) {
int strongest = [Link](i) - '0';
for (int j = i - 1; j >= 0; j--) {
if (strongest - ([Link](j) - '0') >= i - j) {
strongest = [Link](strongest, [Link](j) - '0');
} else {
break;
for (int j = i + 1; j < n; j++) {
if (strongest - ([Link](j) - '0') >= j - i) {
strongest = [Link](strongest, [Link](j) - '0');
} else {
break;
next[i] = (char) (strongest + '0');
if (next[i] != [Link](i)) {
changed = true;
current = new String(next);
iterations++;
if (!changed) {
break;
[Link](iterations);
OUTPUT:
SET :6:
QUADRUPLETS
PROGRAM
import [Link].*;
class a1{
public static void main(String[] args){
Scanner s =new Scanner([Link]);
int size =[Link]();
int[] a = new int[size];
for (int i=0;i<size;i++){
a[i] = [Link]();
int ta = [Link]();
List<int[]> result = new ArrayList<>();
for (int i=0;i<size-3;i++){
for (int j=i+1;j<size-2;j++){
for (int k= j+1;k<size-1;k++){
for (int z = k+1;z<size;z++){
if (a[i]+a[j]+a[k]+a[z] == ta){
[Link](new int[]{a[i],a[j],a[k],a[z]});
for (int[] com:result){
[Link]([Link](com));
}
OUTPUT:
SET: 7
BALANCED PARANTHESIS:
PROGRAM:
import [Link].*;
class a{
public static void main(String[] args){
Scanner s = new Scanner([Link]);
String size = [Link]();
int rc=0,cc=0,sc=0;
for(int j=0;j<[Link]();j++){
char i = [Link](j);
if (i == '{'){
cc +=1;
else if(i == '}'){
cc -= 1;
if (cc < 0){
[Link]("false");
else if (i=='['){
sc +=1;
}
else if (i==']'){
sc-=1;
if (sc <0){
[Link]("false");
else if (i=='('){
rc +=1;
else if (i==')'){
rc -=1;
if (rc<0){
[Link]("false");
if (rc == 0 && cc == 0 && sc ==0){
[Link]("true");
else{
[Link]("false");
}}
OUTPUT:
SET : 8:
HTML TAGS:
PROGRAM:
import [Link].*;
public class op {
private static String input;
static {
Scanner scanner = new Scanner([Link]);
input = [Link]();
StringBuilder result = new StringBuilder();
StringBuilder tagName = new StringBuilder();
StringBuilder tempContent = new StringBuilder();
boolean isStartTag = false;
boolean isEndTag = false;
boolean invalidContent = false;
String openTag = "";
for (int i = 0; i < [Link](); i++) {
char ch = [Link](i);
if (ch == '<') {
if ([Link]() > 0 && [Link]()) {
[Link](tempContent);
[Link](0);
[Link](0);
isStartTag = true;
isEndTag = (i + 1 < [Link]() && [Link](i + 1) == '/');
if (isEndTag) i++;
} else if (ch == '>') {
isStartTag = false;
String currentTag = [Link]();
if (isEndTag) {
if ([Link](currentTag)) {
openTag = "";
[Link](tempContent);
[Link](0);
} else {
invalidContent = true;
break;
} else {
if ([Link]()) {
openTag = currentTag;
} else {
[Link](0);
} else if (isStartTag) {
[Link](ch);
} else if ([Link]()) {
[Link](ch);
} else {
[Link](ch);
if (invalidContent || ![Link]()) {
[Link]("Output: None");
} else {
[Link]("Output: " + ([Link]() > 0 ? [Link]().trim() : "None"));
}
}
public static void main(String[] args) {
OUTPUT: