Coding Exercise 14: Number In Word
public class NumberInWord {
public static void printNumberInWord(int number) {
switch (number) {
case 0:
System.out.println("ZERO");
break;
case 1:
System.out.println("ONE");
break;
case 2:
System.out.println("TWO");
break;
case 3:
System.out.println("THREE");
break;
case 4:
System.out.println("FOUR");
break;
case 5:
System.out.println("FIVE");
break;
case 6:
System.out.println("SIX");
break;
case 7:
System.out.println("SEVEN");
break;
case 8:
System.out.println("EIGHT");
break;
case 9:
System.out.println("NINE");
break;
default:
System.out.println("OTHER");
break;
Coding Exercise 14: Number Of Days In Month
public class NumberOfDaysInMonth {
public static boolean isLeapYear(int year) {
if (year >= 1 && year <= 9999) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
return false;
public static int getDaysInMonth(int month, int year) {
if (month < 1 || month > 12 || year < 1 || year > 9999) {
return -1;
switch (month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
return 31;
case 4: case 6: case 9: case 11:
return 30;
case 2:
return isLeapYear(year) ? 29 : 28;
default:
return -1;
Coding Exercise 15: Sum Odd
public class SumOddRange {
public static boolean isOdd(int number) {
return (number > 0) && (number % 2 != 0);
public static int sumOdd(int start, int end) {
if (start > 0 && end >= start) {
int sum = 0;
for (int i = start; i <= end; i++) {
if (isOdd(i)) {
sum += i;
return sum;
return -1; // Invalid input
}
Coding Exercise 16: Number Palindrome
public class NumberPalindrome{
public static boolean isPalindrome(int number) {
int reverse = 0;
int originalNumber = number;
while (number != 0) {
int lastDigit = number % 10;
reverse = (reverse * 10) + lastDigit;
number /= 10;
return originalNumber == reverse;
Coding Exercise 17: First and Last Digit Sum
public class FirstLastDigitSum {
public static int sumFirstAndLastDigit( int number){
if (number < 0){
return -1;
}
int lastDigit = number % 10;
while( number >= 10){
number /= 10;
return (number + lastDigit);
} // end of sumFirstAndLastDigit method
}// end of main class
Coding Exercise 18: Even Digit Sum
public class EvenDigitSum {
public static int getEvenDigitSum(int number) {
int sumEvenDigits = 0;
if (number < 0)
return -1;
while (number > 0) {
int evenDigits = number % 10;
if (evenDigits % 2 == 0 )
sumEvenDigits += evenDigits;
number /= 10;
return sumEvenDigits;
}//end of getEvenDigitSum method
}//end of main class
Coding Exercise 19: Shared Digit
public class SharedDigit {
public static boolean hasSharedDigit(int fNumber, int sNumber) {
if ((fNumber >= 10 && fNumber <= 99) && (sNumber >= 10 && sNumber <= 99)) {
return (fNumber / 10 == sNumber / 10 || fNumber / 10 == sNumber % 10 || fNumber % 10 ==
sNumber / 10 || fNumber % 10 == sNumber % 10);
return false;
Coding Exercise 20: Last Digit Checker
public class LastDigitChecker {
public static boolean hasSameLastDigit(int fDigit, int sDigit, int lDigit) {
if (isValid(fDigit) && isValid(sDigit) && isValid(lDigit)) {
int fLastDigit = fDigit % 10;
int sLastDigit = sDigit % 10;
int lLastDigit = lDigit % 10;
return (fLastDigit == sLastDigit || sLastDigit == lLastDigit || fLastDigit == lLastDigit);
return false;
}
public static boolean isValid(int number) {
return (number >= 10 && number <= 1000);
Coding Exercise 21: All Factors
public class FactorPrinter {
public static void printFactors(int number) {
if (number < 1) {
System.out.println("Invalid Value");
} else {
for (int i = 1; i <= number; i++) {
if (number % i == 0) {
System.out.println(i);
Coding Exercise 22: Greatest Common Divisor
public class GreatestCommonDivisor {
public static int getGreatestCommonDivisor(int first, int second) {
if(first < 10 || second < 10) {
return -1;
}
while(first != second) {
if(first > second) {
first -= second;
else {
second -= first;
return first;
Coding Exercise 23: Perfect Number
public class PerfectNumber {
public static boolean isPerfectNumber(int number) {
if(number < 1) {
return false;
int perfect = 0;
for(int i = 1; i < number; i++) {
if(number % i == 0) {
perfect += i;
if(perfect == number) {
return true;
return false;
Coding Exercise 24: Number To Words
public class NumberToWords {
public static void numberToWords(int number){
if(number < 0){
System.out.println("Invalid Value");
else{
int rev = reverse(number);
int count = getDigitCount(number);
while(count > 0) {
int lastDigit = rev % 10;
rev = rev / 10;
count--;
switch (lastDigit) {
case 0:
System.out.println("Zero");
break;
case 1:
System.out.println("One");
break;
case 2:
System.out.println("Two");
break;
case 3:
System.out.println("Three");
break;
case 4:
System.out.println("Four");
break;
case 5:
System.out.println("Five");
break;
case 6:
System.out.println("Six");
break;
case 7:
System.out.println("Seven");
break;
case 8:
System.out.println("Eight");
break;
case 9:
System.out.println("Nine");
break;
default:
System.out.println();
public static int reverse(int number){
int rev = 0;
if(number < 0) {
number = -1 * number;
while (number > 0) {
int lastDigit = number % 10;
rev = lastDigit + rev * 10;
number /= 10;
}
return - rev;
while (number > 0) {
int lastDigit = number % 10;
rev = lastDigit + rev * 10;
number /= 10;
return rev;
public static int getDigitCount(int num){
if(num < 0){
return -1;
else if(num == 0){
return 1;
int count = 0;
while(num > 0){
count++;
num /= 10;
return count;
}
Coding Exercise 25: Flour Pack Problem
public class FlourPacker {
public static boolean canPack(int bigCount, int smallCount, int goal) {
if (bigCount < 0 || smallCount < 0 || goal < 0) {
return false;
bigCount *= 5; // Each big bag contains 5 kilos
if (bigCount + smallCount < goal) {
return false;
} else if (bigCount + smallCount == goal || smallCount >= goal % 5) {
return true;
return false;
Coding Exercise 26: Largest Prime
public class LargestPrime {
public static int getLargestPrime(int number) {
if (number <= 0 || number <= 1) {
return -1;
else {
int largestPrime = 2;
while (largestPrime < number) {
if (number % largestPrime != 0) {
largestPrime++;
} else {
number = number / largestPrime;
return number;
Coding Exercise 27: Diagonal Star
public class DiagonalStar {
/*
public static void main(String [] args){
System.out.println(printSquareStar(5));
System.out.println(printSquareStar(8));
*/
// write your code here
public static void printSquareStar(int number) {
if (number < 5) {
System.out.println("Invalid Value");
} else {
int rowCount;
int columnCount;
int currentRow;
rowCount = columnCount = number;
for (int row = 0; row < rowCount; row++) {
currentRow = row;
for (int column = 0; column < columnCount; column++) {
if (row == 0 || column == 0 || row == rowCount - 1 || column == columnCount - 1 || column
== row ||
column == (rowCount - currentRow - 1)) {
System.out.print("*");
} else {
System.out.print(" ");
System.out.println();
Coding Exercise 28: Input Calculator
import java.util.Scanner;
public class InputCalculator {
// Write your code here
public static void inputThenPrintSumAndAverage() {
Scanner scanner = new Scanner(System.in);
int sum = 0;
int counter = 0;
long average = 0;
while (true) {
boolean isAnInt = scanner.hasNextInt();
if (isAnInt) {
int num = scanner.nextInt();
counter++;
sum += num;
average = Math.round((double) sum / counter);
} else {
break;
scanner.nextLine();// handles input keyboard
System.out.println("SUM = " + sum + " AVG = " + average);
scanner.close();
Coding Exercise 29: Paint Job
public class PaintJob {
// write your code here
public static int getBucketCount(double width, double height, double areaPerBucket, int extraBuckets)
{
if(width <= 0 || height <= 0 || areaPerBucket <= 0 || extraBuckets < 0){
return -1;
int numOfBuckets = (int) Math.ceil((width * height) / areaPerBucket);
numOfBuckets -= extraBuckets;
return numOfBuckets;
}// end of getBucketCount method 1
public static int getBucketCount(double width, double height, double areaPerBucket){
if(width <= 0 || height <= 0 || areaPerBucket <= 0){
return -1;
int numOfBuckets = (int) Math.ceil((width * height) / areaPerBucket);
return numOfBuckets;
}// end of getBucketCount method 2
public static int getBucketCount(double area, double areaPerBucket){
if(area <= 0 || areaPerBucket <= 0){
return -1;
int numOfBuckets = (int) Math.ceil(area / areaPerBucket);
return numOfBuckets;
} // end of getBucketCount method 3