Q.A Write a socket program in Java to check whether given number is prime or not. Display result on client terminal.
Server Program (PrimeServer.java)
import java.net.*;
import java.io.;
public class PrimeServer {
// Method to check prime number
static boolean isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0)
return false;
}
return true;
}
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(5000);
System.out.println("Server started... Waiting for client.");
Socket socket = serverSocket.accept();
System.out.println("Client connected.");
DataInputStream din = new DataInputStream(socket.getInputStream());
DataOutputStream dout = new DataOutputStream(socket.getOutputStream());
int number = din.readInt();
System.out.println("Received number: " + number);
if (isPrime(number)) {
dout.writeUTF(number + " is a PRIME number.");
} else {
dout.writeUTF(number + " is NOT a prime number.");
}
din.close();
dout.close();
socket.close();
serverSocket.close();
} catch (Exception e) {
System.out.println(e);
}
}}
Client Program (PrimeClient.java)
import java.net.*;
import java.io.;
import java.util.Scanner;
public class PrimeClient {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 5000);
DataInputStream din = new DataInputStream(socket.getInputStream());
DataOutputStream dout = new DataOutputStream(socket.getOutputStream());
Scanner sc = new Scanner(System.in);
System.out.print("Enter a number: ");
int num = sc.nextInt();
dout.writeInt(num);
String result = din.readUTF();
System.out.println("Server Response: " + result);
din.close();
dout.close();
socket.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
Q.B Write a java program using applet for bouncing ball, for each bounce color of ball should change randomly.
package Multithread;
import javax.swing.; import java.awt.;
import java.util.Random;
public class BouncingBallSwing extends JPanel implements Runnable {
int x = 50, y = 50;
int dx = 5, dy = 5;
int radius = 30;
Thread t;
Color ballColor;
Random rand = new Random();
public BouncingBallSwing() {
ballColor = randomColor();
t = new Thread(this);
t.start();
}
@Override
public void run() {
try {
while (true) {
x += dx;
y += dy;
if (x <= 0 || x + radius >= getWidth()) {
dx = -dx;
ballColor = randomColor();
}
if (y <= 0 || y + radius >= getHeight()) {
dy = -dy;
ballColor = randomColor();
}
repaint();
Thread.sleep(30);
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(ballColor);
g.fillOval(x, y, radius, radius);
}
Color randomColor() {
return new Color(rand.nextInt(256),
rand.nextInt(256),
rand.nextInt(256));
}
public static void main(String[] args) {
JFrame frame = new JFrame("Bouncing Ball");
BouncingBallSwing panel = new BouncingBallSwing();
frame.add(panel);
frame.setSize(500, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}