Recent Post
Home
All posts
Wednesday, August 30, 2017
Tuesday, August 22, 2017
HangMan
Following Code is Hangman Like game without graphics inspired by Duta http:duta.in:
Code:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Main {
static String check="AEIOU";
public static void main(String[] args) {
ArrayList<String> questions=new ArrayList<>();
questions.add("ABRUPTLY");
questions.add("BOOKWORM");
questions.add("GALAXY");
questions.add("PNEUMONIA");
questions.add("STRONGHOLD");
questions.add("WHIZZING");
questions.add("PUZZLING");
questions.add("WRISTWATCH");
questions.add("ZODIAC");
questions.add("THUMBSCREW");
questions.add("YACHTSMAN");
questions.add("MNEMONIC");
questions.add("TRANSPLANT");
questions.add("RHYTHM");
questions.add("MICROWAVE");
Collections.shuffle(questions);
String ques=questions.get(0);
char[] given=new char[ques.length()];
int count=0;
for(int i=0;i<given.length;i++) {
if(varcheck(ques.charAt(i))) {
given[i]=ques.charAt(i);
}else {
given[i]='_';
}
}
boolean win=false;
Scanner in=new Scanner(System.in);
StringBuffer buffer=new StringBuffer();
outer:
while(count<7 && !win) {
for(int i=0;i<given.length;i++) {
System.out.print(given[i]+" ");
}
System.out.println();
System.out.println("Guess a Letter");
char c=in.nextLine().toUpperCase().charAt(0);
int i=0;
while(i<given.length) {
if(given[i]==c) {
System.out.println("Already Present in Word!!");
System.out.println("Guessed Letters : "+buffer);
System.out.println("Chances left : "+(7-count));
System.out.println("------------------------------");
continue outer;
}i++;
}
if(buffer.toString().contains(c+"")) {
System.out.println("Already Guessesed!!");
System.out.println("Guessed Letters : "+buffer);
System.out.println("Chances left : "+(7-count));
System.out.println("------------------------------");
continue outer;
}
if(ques.contains(c+"")) {
int idx=ques.indexOf(c);
while(idx>=0) {
given[idx]=c;
idx=ques.indexOf(c,idx+1);
win=true;
}
System.out.println("Good Guess!!");
}else {
count++;
System.out.println("Bad Guess!!");
}
buffer.append(c+",");
System.out.println("Guessed Letters : "+buffer.toString().substring(0,buffer.length()-1));
System.out.println("Chances left : "+(7-count));
for(char x: given) {
if(x=='_') {
win=false;
}
}
System.out.println("--------------------------------\n");
}
System.out.println("Word is : "+ques);
if(win) {
System.out.println("Congratulations,You win!!");
}else {
System.out.println("You Loose!!,Don't Worry Try Again");
}
in.close();
}
static boolean varcheck(char c) {
if(check.contains(c+"")) return true;
return false;
}
}
Code:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Main {
static String check="AEIOU";
public static void main(String[] args) {
ArrayList<String> questions=new ArrayList<>();
questions.add("ABRUPTLY");
questions.add("BOOKWORM");
questions.add("GALAXY");
questions.add("PNEUMONIA");
questions.add("STRONGHOLD");
questions.add("WHIZZING");
questions.add("PUZZLING");
questions.add("WRISTWATCH");
questions.add("ZODIAC");
questions.add("THUMBSCREW");
questions.add("YACHTSMAN");
questions.add("MNEMONIC");
questions.add("TRANSPLANT");
questions.add("RHYTHM");
questions.add("MICROWAVE");
Collections.shuffle(questions);
String ques=questions.get(0);
char[] given=new char[ques.length()];
int count=0;
for(int i=0;i<given.length;i++) {
if(varcheck(ques.charAt(i))) {
given[i]=ques.charAt(i);
}else {
given[i]='_';
}
}
boolean win=false;
Scanner in=new Scanner(System.in);
StringBuffer buffer=new StringBuffer();
outer:
while(count<7 && !win) {
for(int i=0;i<given.length;i++) {
System.out.print(given[i]+" ");
}
System.out.println();
System.out.println("Guess a Letter");
char c=in.nextLine().toUpperCase().charAt(0);
int i=0;
while(i<given.length) {
if(given[i]==c) {
System.out.println("Already Present in Word!!");
System.out.println("Guessed Letters : "+buffer);
System.out.println("Chances left : "+(7-count));
System.out.println("------------------------------");
continue outer;
}i++;
}
if(buffer.toString().contains(c+"")) {
System.out.println("Already Guessesed!!");
System.out.println("Guessed Letters : "+buffer);
System.out.println("Chances left : "+(7-count));
System.out.println("------------------------------");
continue outer;
}
if(ques.contains(c+"")) {
int idx=ques.indexOf(c);
while(idx>=0) {
given[idx]=c;
idx=ques.indexOf(c,idx+1);
win=true;
}
System.out.println("Good Guess!!");
}else {
count++;
System.out.println("Bad Guess!!");
}
buffer.append(c+",");
System.out.println("Guessed Letters : "+buffer.toString().substring(0,buffer.length()-1));
System.out.println("Chances left : "+(7-count));
for(char x: given) {
if(x=='_') {
win=false;
}
}
System.out.println("--------------------------------\n");
}
System.out.println("Word is : "+ques);
if(win) {
System.out.println("Congratulations,You win!!");
}else {
System.out.println("You Loose!!,Don't Worry Try Again");
}
in.close();
}
static boolean varcheck(char c) {
if(check.contains(c+"")) return true;
return false;
}
}
Output:
Sunday, August 20, 2017
Desired Number of Quark Pairs
Following Code will give you desired number of quark pairs:
Code:
import java.util.Scanner;
public class MainQuark {
public static void main(String[] nt) {
System.out.print("Enter Value of N :");
int n;
Scanner in=new Scanner(System.in);
n=in.nextInt();
int count=0,i=1,num;
StringBuffer buffer=new StringBuffer();
while(count!=n) {
num=i;
int q=quark(num);
if(!prime(q)) {
for(int j=num+1;j<q;j++) {
if(q==quark(j)) {
buffer.append(i+"-"+j+"\n");
count++;
}
}
}
i++;
}
System.out.println("Pairs are\n"+buffer.toString());
}
static int quark(int n) {
int one=0,i=n;
while(n>0) {
if(n%2==1) {
one++;
}n=n/2;
}return one*(i);
}
static boolean prime(int n) {
for(int i=2;i<n/2;i++) {
if(n%i==0) return false;
}return true;
}
}
Code:
import java.util.Scanner;
public class MainQuark {
public static void main(String[] nt) {
System.out.print("Enter Value of N :");
int n;
Scanner in=new Scanner(System.in);
n=in.nextInt();
int count=0,i=1,num;
StringBuffer buffer=new StringBuffer();
while(count!=n) {
num=i;
int q=quark(num);
if(!prime(q)) {
for(int j=num+1;j<q;j++) {
if(q==quark(j)) {
buffer.append(i+"-"+j+"\n");
count++;
}
}
}
i++;
}
System.out.println("Pairs are\n"+buffer.toString());
}
static int quark(int n) {
int one=0,i=n;
while(n>0) {
if(n%2==1) {
one++;
}n=n/2;
}return one*(i);
}
static boolean prime(int n) {
for(int i=2;i<n/2;i++) {
if(n%i==0) return false;
}return true;
}
}
Output:
Quark Pairs Upto N
Quark Pairs:
Code:
import java.util.Scanner;
public class MainQuark {
public static void main(String[] nt) {
System.out.print("Enter Value of N :");
int n;
Scanner in=new Scanner(System.in);
n=in.nextInt();
int[] quarks=new int[n];
int num=0;
for(int i=0;i<n;i++) {
num=i+1;
int one=0;
while(num>0) {
if(num%2==1) {
one++;
}num=num/2;
}
quarks[i]=one*(i+1);
}
StringBuffer buffer=new StringBuffer();
for(int i=0;i<n;i++) {
for(int j=i+1;j<n;j++) {
if(quarks[i]==quarks[j]) {
buffer.append((i+1)+"-"+(j+1)+"\n");
}
}
}
System.out.println("All Pairs upto "+n+" : ");
System.out.println(buffer.toString());
}
}
Output:
Saturday, August 19, 2017
K-means Clustering
What is K-means?
1. Partitional clustering approach
2. Each cluster is associated with a centroid (center point)
3. Each point is assigned to the cluster with the closest centroid
4 Number of clusters K must be specified
Following Code will find the value of K :
Code:
Main.Java
import java.util.ArrayList;
1. Partitional clustering approach
2. Each cluster is associated with a centroid (center point)
3. Each point is assigned to the cluster with the closest centroid
4 Number of clusters K must be specified
Following Code will find the value of K :
Code:
Main.Java
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
long start=System.currentTimeMillis();
int k=1;
Point[] p=new Point[5];
p[0]=new Point(1,1);
p[1]=new Point(1,0);
p[2]=new Point(0,2);
p[3]=new Point(2,4);
p[4]=new Point(3,5);
ArrayList<Point> given=new ArrayList<>();
given.add(p[0]);
given.add(p[1]);
given.add(p[2]);
given.add(p[3]);
given.add(p[4]);
Collections.shuffle(given);
Point c1=new Point(given.get(0));
Point c2=new Point(given.get(1));
ArrayList<Point>cluster1=new ArrayList<>();
ArrayList<Point>cluster2=new ArrayList<>();
ArrayList<Point>newcluster1=new ArrayList<>();
ArrayList<Point>newcluster2=new ArrayList<>();
double dc1,dc2;
for(int i=0;i<5;i++) {
dc1=c1.distance(p[i]);
dc2=c2.distance(p[i]);
if(dc1<dc2) {
cluster1.add(p[i]);
}else if(dc2<dc1) {
cluster2.add(p[i]);
}
}
c1.x=meanx(cluster1);
c1.y=meany(cluster1);
c2.x=meanx(cluster2);
c2.y=meany(cluster2);
do {
if(!(newcluster1.isEmpty()&& newcluster2.isEmpty())) {
cluster1.clear();
System.out.println(cluster1.size());
cluster1.addAll(newcluster1);
cluster2.clear();
cluster2.addAll(newcluster2);
newcluster1.clear();
newcluster2.clear();
}
for(int i=0;i<5;i++) {
dc1=c1.distance(p[i]);
dc2=c2.distance(p[i]);
if(dc1<=dc2) {
newcluster1.add(p[i]);
}else {
newcluster2.add(p[i]);
}
}
c1.x=meanx(newcluster1);
c1.y=meany(newcluster1);
c2.x=meanx(newcluster2);
c2.y=meany(newcluster2);
k++;
}while(!(compareCluster(cluster1, newcluster1)||compareCluster(cluster1, newcluster2))&&(compareCluster(cluster2, newcluster2)||compareCluster(cluster2, newcluster1)));
System.out.println("Value of K is : "+k);
System.out.println("Time Taken : "+(System.currentTimeMillis()-start)+" milliseconds");
}
static boolean compareCluster(ArrayList<Point> c1,ArrayList<Point> c2) {
if(c1.size()!=c2.size()||c1==null&&c2!=null||c1!=null&&c2==null) return false;
if(c1==null && c2==null) return true;
for(int i=0;i< c1.size();i++){
if(! c2.contains(c1.get(i))) return false;
}
return true;
}
static double meanx(ArrayList<Point> c) {
double sumx=0;
for(int i=0;i<c.size();i++) {
sumx+=c.get(i).x;
}
return sumx/c.size();
}
static double meany(ArrayList<Point> c) {
double sumy=0;
for(int i=0;i<c.size();i++) {
sumy+=c.get(i).y;
}
return sumy/c.size();
}
}
-------------------------------------------------------------------------------------------
Point.Java
public class Point { double x,y; Point(double a,double b){ x=a; y=b; } Point(Point b){ x=b.x; y=b.y; } double distance(Point b) { return Math.sqrt(Math.pow((x-b.x),2)+Math.pow((y-b.y),2)); } @Override public String toString() { return "Point [x=" + x + ", y=" + y + "]"; } }
For any Suggestions please Click Here
Output:
Wednesday, August 16, 2017
Monday, July 31, 2017
Subscribe to:
Posts (Atom)