Practice Assignment - 4-SOLUTION

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

CSCI 250 – Introduction to Programming

PRACTICE Assignment 4-SOLUTION


Problem #1: Write a method that takes an array of integers and shifts it to the right by one element. Test it in
the main by reading from the user the size of an array as well as the values of the array. The program displays the
array values after shifting it.
Sample Run:
Enter the size of the array: 5
Enter 5 integers: 12 25 26 18 60
The shifted array is: 60 12 25 26 18

Solution:
import java.util.Scanner;
public class Practice {
public static void main(String[] args) {
Scanner input=new Scanner (System.in);
System.out.print("Enter the size of the array: ");
int size=input.nextInt();
int[] A=new int[size];
System.out.print("Enter "+size+" integers: ");
for(int i=0;i<A.length;i++)
A[i]=input.nextInt();
//shifting the array
for(int i=0;i<A.length-1;i++){
int temp=A[i+1];
A[i+1]=A[0];
A[0]=temp;
}
//print the shifted array
System.out.print("The shifted array is: ");
for(int i=0;i<A.length;i++)
System.out.print(A[i]+" ");
}
}

Problem #2:
We need to develop a game that allows two players to throw a dice ten times and the player who gets the highest
sum wins the game.
 Write a method sum(int[] values) that returns the sum of elements of the array values.
 Write a method display(int[] values) that displays the elements of the array values.
 Write a main method where you should:
a) Create two arrays of integers called player1 and player2 with size 10 both
b) For each player, generate ten random integers between 1 and 6 inclusively. The generated values
are added to the associated array of each player.
c) Display the generated values for each player.

1
d) Find and display the winner using the sum method.

Sample run1
Generated numbers for player 1 are: 6 6 3 1 2 1 4 6 5 4
Generated numbers for player 2 are: 6 2 2 4 2 1 1 5 2 4
Player 1 wins with score 38
Sample run2
Generated numbers for player 1 are: 3 5 2 3 2 1 4 6 5 4
Generated numbers for player 2 are: 5 3 3 2 2 1 6 5 4 4
Draw with score 35

Solution:
import java.util.Scanner;
public class Problem2 {
public static int sum(int[] values) {
int sumValue=0;
for(int i=0;i<values.length;i++)
sumValue+=values[i];
return sumValue;
}
public static void display(int[] values) {
for(int i=0;i<values.length;i++)
System.out.print(values[i]+ " ");
System.out.println("");
}
public static void main(String[] args) {
Scanner input=new Scanner (System.in);
int[] player1=new int[10];
int[] player2=new int[10];
for(int i=0;i<player1.length;i++)
player1[i]=(int)(1+Math.random()*6);
for(int i=0;i<player2.length;i++)
player2[i]=(int)(1+Math.random()*6);

System.out.print("Generated numbers for player 1 are: ");


display(player1);
System.out.print("Generated numbers for player 2 are: ");
display(player2);
if(sum(player2)>sum(player1))
System.out.println("Player 2 wins with score "+sum(player2));
else if(sum(player2)<sum(player1))
System.out.println("Player 1 wins with score "+sum(player1));
else
System.out.println("Draw with score " + sum(player1));
}
}

You might also like