Wednesday , 13 September 2017
Latest Posts
Home » Class 12 » Java program to arrange words in Ascending order of their Potential (ISC Specimen 2016 Question 2)

# Java program to arrange words in Ascending order of their Potential (ISC Specimen 2016 Question 2)

#### Question:

The encryption of alphabets are to be done as follows:

A = 1
B = 2
C = 3
.
.
.
Z = 26

The potential of a word is found by adding the encrypted value of the alphabets.

Example: KITE

Potential = 11 + 9 + 20 + 5 = 45

Accept a sentence which is terminated by either “ . ” , “ ? ” or “ ! ”. Each word of sentence is separated by single space. Decode the words according to their potential and arrange them in ascending order.

Output the result in format given below:

Example 1

```INPUT 		: 	THE SKY IS THE LIMIT.

POTENTIAL 	: 	THE 	= 33
SKY 	= 55
IS 		= 28
THE 	= 33
LIMIT	= 63

OUTPUT	 	: 	IS THE THE SKY LIMIT```

Example 2

```INPUT 		: 	LOOK BEFORE YOU LEAP.

POTENTIAL 	: 	LOOK 	= 53
BEFORE	= 51
YOU 	= 61
LEAP 	= 34

OUTPUT 		:	LEAP BEFORE LOOK YOU```

#### Programming Code:

```/**
* The class WordPotential inputs a sentence and arranges the words
* in ascending order of their potential
* @author : www.guideforschool.com
* @Program Type : BlueJ Program - Java
* @ISC Computer Science Practical Specimen Paper - Question 2
*/

import java.util.*;
class WordPotential
{
int findPotential(String s) // Function to find potential of a word
{
s = s.toUpperCase();
int p = 0, l = s.length();
char ch;
for(int i=0; i<l; i++)
{
ch = s.charAt(i);
p = p + (ch-64); // if ch = 'A', then 'A'-64 = ASCII value of 'A' - 64 = 65-64 = 1
}
return p;
}

// Function to sort the words in ascending order of their potential
void sortPotential(String w[], int p[])
{
int n = w.length, t1 = 0;
String t2 = "";

for(int i=0; i<n-1; i++)
{
for(int j=i+1; j<n; j++)
{
if(p[i]>p[j])
{
t1 = p[i];
p[i] = p[j];
p[j] = t1;
t2 = w[i];
w[i] = w[j];
w[j] = t2;
}
}
}

printResult(w,p);
}

void printResult(String w[], int p[]) // Function to print the final result
{
int n = w.length;
String ans = "";
for(int i=0; i<n; i++)
{
ans = ans + " " + w[i];
}
ans = ans.trim();
System.out.println("\nOutput\t\t :  \t"+ans);
}

public static void main(String args[])
{
WordPotential ob = new WordPotential();
Scanner sc = new Scanner(System.in);

System.out.print("Enter a sentence : \t");
String s = sc.nextLine();

StringTokenizer str = new StringTokenizer(s," .,?!");
int n = str.countTokens();

String words[] = new String[n];
int potential[] = new int[n];

for(int i=0; i<n; i++)
{
words[i] = str.nextToken(); // Saving words one by one in an array
potential[i] = ob.findPotential(words[i]); // Saving potential of every word
}

// Printing the words along with their potential
System.out.print("\nPotential\t : \t");
for(int i=0; i<n; i++)
{
System.out.println(words[i]+"\t= "+potential[i]);
System.out.print("\t\t\t");
}

ob.sortPotential(words,potential);
}
}
```

#### Output:

```Enter a sentence : 	Look before you leap.

Potential		 : 	Look	= 53
before	= 51
you	= 61
leap	= 34

Output		 :  	leap before Look you

Enter a sentence : 	The sky is the limit.

Potential		 : 	The	= 33
sky	= 55
is	= 28
the	= 33
limit	= 63

Output		 :  	is The the sky limit

```

## [Question 2] ISC 2017 Computer Practical Paper Solved – Quiz Result

Solution of Program 2 of ISC 2017 Computer Science Paper 2 (Practical) Exam. Java program to input the answers of each participant row-wise and calculate their marks

### One comment

1. awesome site very good interface few adds keep it up