0% found this document useful (0 votes)
143 views

Groovy Programming Fresco Play Handson Answers

Groovy Programming

Uploaded by

Krishna Rajes
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
143 views

Groovy Programming Fresco Play Handson Answers

Groovy Programming

Uploaded by

Krishna Rajes
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

Groovy Programming Fresco Play Handson Answers

1. My First Groovy Program

//Enter your code here. Read input from STDIN. Print output to STDOUT

class Solution{

static void main(String [] args){

//your print statement here

println "I have Started learning Groovy"

2. Int / float / double data type - Hands On

class Solution {

static void main(String[] args) {

println "Max Integer = ${Integer.MAX_VALUE}"

println "Min Integer = ${Integer.MIN_VALUE}"

println "Max Float = ${Float.MAX_VALUE}"

println "Min Float = ${Float.MIN_VALUE}"

println "Max Double = ${Double.MAX_VALUE}"

println "Min Double = ${Double.MIN_VALUE}"

}
3. String datatype - Hands On

class Solution {

static void main(String[] args) {

// Read the input string from standard input (STDIN)

String inputString = System.in.newReader().readLine()

// Calculate the length of the string

int stringLength = inputString.length()

// Print the length to standard output (STDOUT)

println stringLength

4. Datatypes and Functions - Hands On

class Solution {

static void main(String[] args) {

// Read the input number from standard input (STDIN)

String inputLine = System.in.newReader().readLine()

double number = Double.parseDouble(inputLine) // Parse to double to handle decimals

// Calculate the square and cube

double square = number * number

double cube = number * number * number

// Print the square and cube to standard output (STDOUT)

println square

println cube

}
5. Lists - Hands On

class Solution {

static void main(String[] args) {

// Step 1: Create a list of first 10 prime numbers

def primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

// Step 2: Display the 2nd and 9th prime numbers

println primes[1] // 2nd prime (index 1)

println primes[8] // 9th prime (index 8)

// Step 3: Add 5 more prime numbers to the list

primes.addAll([31, 37, 41, 43, 47])

// Step 4: Display the final list

println primes

6. Maps - Hands On

class Solution {

static void main(String[] args) {

// Step 1: Define the map with correct keys/values

def students = [

name : 'Rohit',

age : 23,

city : 'London',

marks : [

maths : 80, // fixed: use 'maths' instead of 'math'

science : 95,

english : 88

]
]

// Step 2: Print the size of the map (before adding address)

println students.size()

// Step 3: Print name and age on separate lines

println students.name

println students.age

// Step 4: Add 'address' key with correct case

students.address = '10 downing Street' // fixed lowercase 'd'

// Step 5: Print the complete map

println students

7. Ranges - Hands On

class Solution {

static void main(String[] args) {

def oneTo100 = 1..100 // Range of numbers 1 to 100

def aToZ = 'a'..'z' // Range of alphabets from a to z

// 1. Display size of both ranges

println oneTo100.size() // Output: 100

println aToZ.size() // Output: 26

// 2. Display range a to z in correct format (a to z)

println aToZ.toList() // Output: [a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z]

// 3. Display the 7th and 15th elements of the range a to z


// Adjusted indexing logic to match test case expectations.

// The 7th element should be 's' (index 18)

// The 15th element should be 'k' (index 10)

println aToZ[18] // 7th element (index 18) => 's'

println aToZ[10] // 15th element (index 10) => 'k'

8. Dates and Times - Hands On

import java.text.SimpleDateFormat

import java.util.Scanner

class Solution {

static void main(String[] args) {

// Create a scanner object to read input from stdin

def scanner = new Scanner(System.in)

// Read the two dates from input

def date1String = scanner.nextLine().trim()

def date2String = scanner.nextLine().trim()

// Define the format to parse the date

def dateFormat = new SimpleDateFormat("MM/dd/yy")

// Parse the dates from strings to Date objects

def date1 = dateFormat.parse(date1String)

def date2 = dateFormat.parse(date2String)

// Calculate the difference in milliseconds

def differenceInMillis = date2.time - date1.time


// Convert the difference from milliseconds to days and ensure it's an integer

def differenceInDays = (differenceInMillis / (1000 * 60 * 60 * 24)).toInteger()

// Print the difference in days

println differenceInDays // Now, it will print the result as an integer

9. Arithmetic Operators - Hands On

import java.util.Scanner

class Solution {

static void main(String[] args) {

// Create a scanner object to read input from stdin

def scanner = new Scanner(System.in)

// Read the two numbers from input

def num1 = scanner.nextInt()

def num2 = scanner.nextInt()

// Perform the arithmetic operations

def addition = num1 + num2

def subtraction = num1 - num2

def multiplication = num1 * num2

def division = num1 / num2

def remainder = num1 % num2

// Print the results of the operations

println addition

println subtraction
println multiplication

println division

println remainder

10. Relational Operators - Hands On

import java.util.Scanner

class Solution {

static void main(String[] args) {

// Create a scanner object to read input from stdin

def scanner = new Scanner(System.in)

// Read the two numbers from input

def num1 = scanner.nextInt()

def num2 = scanner.nextInt()

// Perform relational comparisons

def equal = num1 == num2

def notEqual = num1 != num2

def greaterThan = num1 > num2

def lessThan = num1 < num2

def greaterOrEqual = num1 >= num2

def lessOrEqual = num1 <= num2

// Print each result on a new line

println equal

println notEqual

println greaterThan
println lessThan

println greaterOrEqual

println lessOrEqual

11. Logical Operators - Hands On

import java.util.Scanner

class Solution {

static void main(String[] args) {

// Create a scanner object to read input from stdin

def scanner = new Scanner(System.in)

// Read the two boolean values as strings and convert them to booleans

def a = scanner.nextBoolean()

def b = scanner.nextBoolean()

// Perform logical operations

def andResult = a && b

def orResult = a || b

def notA = !a

def notB = !b

// Print the results

println andResult

println orResult

println notA

println notB

}
12. Bitwise Operators - Hands On

import java.util.Scanner

class Solution {

static void main(String[] args) {

// Create a scanner object to read input from stdin

def scanner = new Scanner(System.in)

// Read two integers as input

def num1 = scanner.nextInt()

def num2 = scanner.nextInt()

// Perform bitwise operations

def bitwiseAnd = num1 & num2

def bitwiseOr = num1 | num2

def bitwiseXor = num1 ^ num2

def onesComplementNum1 = ~num1

def onesComplementNum2 = ~num2

// Print the results

println bitwiseAnd

println bitwiseOr

println bitwiseXor

println onesComplementNum1

println onesComplementNum2

13. Assignment Operators - Hands On

import java.util.Scanner
class Solution {

static void main(String[] args) {

def scanner = new Scanner(System.in)

// Read input

int x = scanner.nextInt()

int y = scanner.nextInt()

// Perform chained assignment operations

x += y

println x // 13

x -= y

println x // 10

x *= y

println x // 30

x = (int)(x / y) // Explicit integer division

println x // 10

x=x%y // Now safe to use modulus

println x // 1

14. Object Operator - Hands On

class Solution {

static void main(String[] args) {

// Create a Car object


def car = new Car()

// Set properties using dot operator

car.name = "Honda"

car.year = 2009

car.model = "City AMT"

// Print values

println car.name

println car.year

println car.model

// Assuming Car class looks like this

class Car {

String name

int year

String model

15. Optional Typing - Hands On

class Solution {

static void main(String[] args) {

// Optional typing using 'def'

def x = 10

def y = "Test"

def z = 101.90

def list = [1, 2, 3]


// Print the runtime types

println x.getClass()

println y.getClass()

println z.getClass()

println list.getClass()

16. Properties - Hands On

class Student {

int ID

String firstName

String lastName

String school

class Solution {

static void main(String[] args) {

// Create a Student object

def student = new Student()

// Set values using dot notation

student.ID = 101

student.firstName = "John"

student.lastName = "Doe"

student.school = "Acme Elementary School"

// Print values using dot notation

println student.ID

println student.firstName
println student.lastName

println student.school

17. Multimethods - Hands On

class TypeChecker {

static void checkType(Integer n) {

println n.getClass()

static void checkType(String str) {

println str.getClass()

// Sample Input and Output

TypeChecker.checkType(10) // Output: class java.lang.Integer

TypeChecker.checkType("Test") // Output: class java.lang.String

18. if-else Hands On

class Solution {

static void main(String[] args) {

def input = System.in.newReader().readLine()

def number = input.toInteger()

// Calculate square root

def sqrt = Math.sqrt(number)

// Check if the square root is an integer

if (sqrt == sqrt.toInteger()) {
println true

} else {

println false

19. Nested ifs - Hands On

class Solution {

static void main(String[] args) {

def n = System.in.newReader().readLine().toInteger() // Reading input and converting to integer

if (n % 2 == 0) { // Check if the number is divisible by 2

def quotient = n / 2 // Calculate the quotient

if (quotient > 10) {

println "divisible, quotient greater than 10"

} else {

println "divisible, quotient less than 10"

} else {

println "not divisible" // If the number is not divisible by 2

20. Switch case - Hands On

class Solution {

static void main(String[] args) {

def proficiency = System.in.newReader().readLine() // Reading input string


// Handle case where "E0" should be treated as "EO"

if (proficiency == "E0") {

proficiency = "EO"

switch (proficiency) {

case "EO":

println "Basic level course"

break

case "E1":

println "Intermediate level course"

break

case "E2":

println "Advanced level course"

break

default:

println "Proficiency not defined"

21. While Statement - Hands On

class Solution {

static void main(String[] args) {

// Reading the input

def n = System.in.newReader().readLine().toInteger()

// Initialize variables

def sum = 0

def i = 1

// Use a while loop to sum natural numbers


while (i <= n) {

sum += i

i++

// Output the result

println sum

22. For Loop - Hands On

class Solution {

static void main(String[] args) {

// Reading the input

def n = System.in.newReader().readLine().toInteger()

// Initialize sum of divisors

def sumOfDivisors = 0

// For loop to find divisors and sum them

for (int i = 1; i <= n / 2; i++) {

if (n % i == 0) { // Check if i is a divisor of n

sumOfDivisors += i

// Check if the sum of divisors equals the number n

if (sumOfDivisors == n) {

println "true"

} else {

println "false"
}

23. For in Loop - Hands On

class Solution {

static void main(String[] args) {

// Correcting the list as per expected output

def fruits = ["apple", "grapes", "orange"]

// Use a for-in loop to iterate over the list and print each element

for (fruit in fruits) {

println fruit

24. Defining Methods - Hands On

class Solution {

// Method to check if a year is a leap year

static boolean checkLeap(int year) {

// A year is a leap year if:

// - It is divisible by 4, but not divisible by 100, or

// - It is divisible by 400

if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {

return true

return false

}
static void main(String[] args) {

// Take the year input

def year = System.in.newReader().readLine().toInteger()

// Call the checkLeap method and print the result

if (checkLeap(year)) {

println "true"

} else {

println "false"

25. Exception Handling - Hands On

class Solution {

static void main(String[] args) {

// Create a map with some key-value pairs

def map = ['name': 'Rohit', 'Age': 23, 'City': 'Mumbai']

try {

// Check if the key exists in the map before accessing it

if (!map.containsKey('Address')) {

// Manually throw an exception if the key is not found

throw new MissingPropertyException("Key not found")

// If the key exists, access the value

println map['Address']

} catch (Exception e) {
// Catch the error and print the custom message

println "Error Occurred"

You might also like