Java: An Introduction to Problem Solving and Programming (7th Edition)
7th Edition
ISBN: 9780133766264
Author: Walter Savitch
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 7, Problem 11PP
Program Plan Intro
Sudoku puzzle
Program plan:
- Include required header files.
- Define the “SudokuPuzzle” class.
- Declare the two-dimensional array variables.
- In the SudokuPuzzle() constructor,
- Create objects of SudokoPuzzle class.
- Define the main() method.
- Create an object for Scanner class.
- Create an object for SudokoPuzzle class.
- Call initializePuzzle() method to initialize the puzzle.
- Display the puzzle values.
- The while loop executes until the true. If yes,
- Check whether the input is “q”. If yes, exit the program.
- Otherwise, check whether the input is “s”. If yes, set the guess value.
- Otherwise, check whether the input is “g”. If yes, get the allowed values.
- Otherwise, check whether the input is “c”. If yes, clear the puzzles.
- Check whether the puzzle value is not valid. If yes, display the error message.
- Otherwise, check whether the puzzle is full. If yes, display the success message.
- In the toString() method,
- Return the puzzle representation.
- In the addInitial() method,
- Check whether row and col is in between “0” to “9” and value is in between “1” to “9”. If yes,
- Set the puzzle values and the square value cannot be changed by puzzle solver.
- Check whether row and col is in between “0” to “9” and value is in between “1” to “9”. If yes,
- In the addGuess() method,
- Check whether row and col is in between “0” to “9” and value is in between “1” to “9” and start puzzle with “0”. If yes, set the guess value to puzzle.
- In the getValueIn() method,
- Return the value in given square.
- In the reset() method,
- Reset the puzzle value to blank.
- In the isFull() method,
- Check whether the puzzle is full and then set the flag value as “true”.
- In the getAllowedValues() method,
- Display the allowed values for puzzles.
- In the checkPuzzle() method,
- Check whether the values in the squares are legal. If yes, return true.
- In the checkRow() method,
- Check whether value is appears only once in row. If yes, return true.
- In the checkCol() method,
- Check whether value is appears only once in col. If yes, return true.
- In the checkSub() method,
- Check whether value is appears only once in 3 by 3 sub-array. If yes, return true.
- In the initializePuzzle() method,
- Call addInitial() method to initialize the puzzle to the board configuration example in the text.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
An 8-puzzle game consists of 8 sliding tiles, numbered by digits from 1 to 8 and arranged in a 3x3 array of nine cells. A configuration in the puzzle refers to some specific arrangement of the tiles in the array, where each digit is arranged into a different cell. One of the cell is empty (represented by a "*") and any adjacent tile can be moved into the empty cell. An example below
c | 1 | 2 | 3 b | 4 | * | 5 a | 6 | 7 | 8------------------ Y/X a b c
We use a 3-tuple (number, X, Y) to represent the position of a digit, where number is the actual digit, and (X,Y) is the coordinate value of the digit in the current configuration (e.g., in the configuration above, we have (5,c,b), meaning the digit 5 is at the position of (c,b)).Hence the configuration in the example can be represented as:[(1,a,c), (2,b,c), (3,c,c), (4,a,b), (5,c,b), (6,a,a), (7,b,a), (8,c,a)].Any move of an adjacent tile into the empty cell moves the current configuration into the one adjacent to it.…
Tic-Tac-Toe
Problem Description:
Tic Tac Toe game is traditionally played on a 3x3 board berween two players x and o. A
player can mark a single cell by placing a symbol in it (either an 'x'or an 'o' character). A
player who manages to mark a row, column, or a diagonal completely with his symbol
first wins the game. The game ends in a tie if no player manages to win after all the cells
have been marked. You will design a textual version of this game, in which a human
player gets to play against a computer opponent.
Program Specification:
In this project, you will implement a complete Tie-Tac-Toe game in a Java program.
Your implementation should follow this specification. You may use one or two
dimensional amay as data structure for the game board. Your program should include
the following list ef methods:
1. initBoard ()- update this method
This function initializes the game board. There are 9 cells represented by I or 2
dimensional armay.
2. gameBoard ()- upcdate this method
This…
Query Board Python or Java(Preferred Python please) Thank you!
Programming challenge description:
There is a board (matrix). Every cell of the board contains one integer, which is 0 initially.The following operations can be applied to the Query Board:SetRow i x: change all values in the cells on row "i" to value "x".SetCol j x: change all values in the cells on column "j" to value "x".QueryRow i: output the sum of values on row "i".QueryCol j: output the sum of values on column "j".The board's dimensions are 256x256."i" and "j" are integers from 0 to 255."x" is an integer from 0 to 31.
Input:
Your program should read lines from standard input. Each line contains one of the above operations.
Output:
For each query, output the result of the query.
Test 1
Test InputDownload Test 1 Input
SetCol 32 20 SetRow 15 7 SetRow 16 31 QueryCol 32 SetCol 2 14 QueryRow 10
Expected OutputDownload Test 1 Input
5118 34
Chapter 7 Solutions
Java: An Introduction to Problem Solving and Programming (7th Edition)
Ch. 7.1 - What output will be produced by the following...Ch. 7.1 - What output will be produced by the following...Ch. 7.1 - What output will be produced by the following...Ch. 7.1 - Consider the following array: int [] a = new...Ch. 7.1 - What is wrong with the following code to...Ch. 7.1 - Write a complete Java program that reads 20 values...Ch. 7.2 - Write some Java code that will declare an array...Ch. 7.2 - Rewrite the method displayResults of the program...Ch. 7.2 - What output will be produced by the following...Ch. 7.2 - Give the definition of a static method called...
Ch. 7.2 - Give the definition of a static method called...Ch. 7.2 - Prob. 12STQCh. 7.2 - The following method compiles and executes but...Ch. 7.2 - Suppose that we add the following method to the...Ch. 7.3 - Prob. 15STQCh. 7.3 - Replace the last loop in Listing 7.8 with a loop...Ch. 7.3 - Suppose a is an array of values of type double....Ch. 7.3 - Suppose a is an array of values of type double...Ch. 7.3 - Prob. 19STQCh. 7.3 - Consider the partially filled array a from...Ch. 7.3 - Repeat the previous question, but this time assume...Ch. 7.3 - Write an accessor method getEntryArray for the...Ch. 7.4 - Prob. 23STQCh. 7.4 - Write the invocation of the method selectionSort...Ch. 7.4 - How would you need to change the method...Ch. 7.4 - How would you need to change the method...Ch. 7.4 - Consider an array b of int values in which a value...Ch. 7.5 - What output is produced by the following code?...Ch. 7.5 - Revise the method showTable in Listing 7.13 so...Ch. 7.5 - Write code that will fill the following array a...Ch. 7.5 - Write a void method called display such that the...Ch. 7.6 - Prob. 33STQCh. 7 - Write a program in a class NumberAboveAverage that...Ch. 7 - Write a program in a class CountFamiles that...Ch. 7 - Write a program in a class CountPoor that counts...Ch. 7 - Write a program in a class FlowerCounter that...Ch. 7 - Write a program in a class characterFrequency that...Ch. 7 - Create a class Ledger that will record the sales...Ch. 7 - Define the following methods for the class Ledger,...Ch. 7 - Write a static method isStrictlyIncreasing (double...Ch. 7 - Write a static method removeDuplicates(Character[]...Ch. 7 - Write a static method remove {int v, int [] in}...Ch. 7 - Suppose that we are selling boxes of candy for a...Ch. 7 - Create a class polynomial that is used to evaluate...Ch. 7 - Write a method beyond LastEntry (position) for the...Ch. 7 - Revise the class OneWayNoRepeatsList, as given in...Ch. 7 - Write a static method for selection sort that will...Ch. 7 - Overload the method selectionSort in Listing 7.10...Ch. 7 - Revise the method selectionSort that appears in...Ch. 7 - Prob. 18ECh. 7 - Write a sequential search of an array of integers,...Ch. 7 - Write a static method findFigure (picture,...Ch. 7 - Write a static method blur (double [] [] picture)...Ch. 7 - Write a program that reads integers, one per line,...Ch. 7 - The following code creates a small phone book. An...Ch. 7 - Write the method rotateRight that takes an array...Ch. 7 - The following code creates a ragged 2D array. The...Ch. 7 - Write a program that will read a line of text that...Ch. 7 - Prob. 2PPCh. 7 - Add a method bubbleSort to the class ArraySorter,...Ch. 7 - Add a method insertionSort to the class...Ch. 7 - The class TimeBook in Listing 7.14 is not really...Ch. 7 - Define a class called TicTacToe. An object of type...Ch. 7 - Repeat Programming Project 10 from Chapter 5 but...Ch. 7 - Prob. 8PPCh. 7 - Write a GUI application that displays a picture of...Ch. 7 - ELIZA was a program written in 1966 that parodied...Ch. 7 - Prob. 11PPCh. 7 - Create a GUI application that draws the following...Ch. 7 - Practice Program 2 used two arrays to implement a...Ch. 7 - Practice Program 5.4 asked you to define Trivia...
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- A Hide Time Remaining A Geometric Progression Printer As you might recall, a Geometric Progression (or GP) is a sequence of elements in which the next number in the sequence is obtained by multiplying the previous number by the common ratio. The next number in the sequence is obtained by using this formula: a_n=a_1*r(n-1) While the sum of all numbers in the sequence is obtained using any of these formulae: If r= 1, sum=a*n Ifr != 1 and r> 1, sum = a[(rª-1)/(r - 1)] Ifr != 1 and r < 1, sum = a[(1-r)/(1-r)] where a_n = next number in the sequence, a_1 = first number in the sequence, r = common ratio, n = number of terms Your task is to write a Python program that 1: Accepts the necessary inputs from the user, i.e., start value (a_1), common ratio (r), and number of generate to generate (n). 2. Generates the Geometric Progression (GP) sequence starting from a_1 to n. 3. Prints out the GP HORIZONTALLY not VERTICALLY, e.g. 3, 9, 27, 81, 243, 729.... 4. Calculates the sum of all numbers in…arrow_forwardProgramming Language: C++ You have been hired by Google to work on their YouTube videos search team. Every YouTube video has a unique ID and those IDs are in unsorted order. As a software engineer, you are required to make a YouTube search engine which works for very user. Create a test engine that only holds seven YouTube IDs. Prompt for and get from the user the seven IDs and store them in an integer array. Then sort and print the array using the insertion sort algorithm. Finally, use a sentinel loop to prompt for and get from the user a series of IDs. For each ID, perform a binary search on the array and tell the user if it was found or not. If found, print the index where the ID is stored. Continue to prompt the user for an ID until entering the sentinel value of -999. In addition to function main, define the following two functions: void insertion_sort(int arr[], int arr_size) int binary_search(int sort_arr[], int size_array, int search_value) binary_seacrh returns…arrow_forwardProgramming: C# (C sharp) without using "array, while and furthermore advance loop"arrow_forward
- JAVA CODE PLEASE Functions with 2D Arrays Quiz by CodeChum Admin Write a program that asks the user for the row and column size of a 2D array and asks the user for the elements. Write the total of the sum of each row multiplied with the row number. Example: 1 2 3 -> (1+2+3) * 1 = 6 4 5 6 -> (4+5+6) * 2 = 30 7 8 9 -> (7+8+9) * 3 = 72 total: 108 Input 1. One line containing an integer for the number of rows 2. One line containing an integer for the number of columns 3. Multiple lines containing an integer for every element of the array for each line Output Row·size:·3 Column·size:·3 R1C1:·1 R1C2:·2 R1C3:·3 R2C1:·4 R2C2:·5 R2C3:·6 R3C1:·7 R3C2:·8 R3C3:·9 1·2·3 4·5·6 7·8·9arrow_forwardIn visual basic Write a For…Next loop that will printout each value in the array from problem 4.arrow_forwardObjectives Java refresher (including file I/O) Use recursion Description For this project, you get to write a maze solver. A maze is a two dimensional array of chars. Walls are represented as '#'s and ' ' are empty squares. The maze entrance is always in the first row, second column (and will always be an empty square). There will be zero or more exits along the outside perimeter. To be considered an exit, it must be reachable from the entrance. The entrance is not an exit.Here are some example mazes:mazeA 7 9 # # ##### # # # # # # # ### # # # # ##### # # # ######### mazeB 7 12 # ########## # # # # # # # #### # # # # # # ##### ## # # # # ############ mazeC 3 5 # # # ## ## Requirements Write a MazeSolver class in Java. This program needs to prompt the user for a maze filename and then explore the maze. Display how many exits were found and the positions (not indices) of the valid exits. Your program can display the…arrow_forward
- Two-Dimensional ArrayInstruction:Create a java program that generates elements (randomly from 10 – 75) of a 2-dimensional array (5x5) using the Random Class then perform the following:1) Output the array elements2) Output the sum of prime numbers in the array3) Output the elements in the main diagonal.4) Output the sum of the elements below the diagonal.5) Output the sum of the elements above the diagonal.6) Output the odd numbers below the diagonal.7) Output the even numbers above the diagonal. NOTE: Please do not use the array methods available on the internet. Use the for loop, while loop or do-while loop statement in your codes.arrow_forwardC Program Removing Elements in an Array Make a program that creates an array by asking the size n of the array and n integer inputs. Example: Input size of array: 5 Array elements: 1 2 3 4 5 After creating the array, you need to prompt the user again to pick m number of elements to remove. If the input is invalid, prompt the user to try again. An input is invalid if it meets either one of these criteria: Greater than size n of the array Negative number Example: Number of elements to remove: -2 Invalid number. Try again: 3 After a valid input, prompt the user for the valid indices to remove. An index is valid if it is within the range of the array size. Output the array elements after a valid index input and consider the new size of the array after. Example: Index (1): 2 Array elements: 1 2 4 5 Index (2): 4 Invalid index! Try again. Index (2): 0 Array elements: 2 4 5 Index (3): 2 Array elements: 2 4 After everything, print FINISHED! Input 1. Size of array 2.…arrow_forwardLanguage: C Pascal’s triangle is a triangular array, useful for calculating the binomial coefficients, n k , that are used in expanding binomials raised to powers, combinatorics and probability theory. 0 0 1 0 1 1 2 0 2 1 2 2 3 0 3 1 3 2 3 3 4 0 4 1 4 2 4 3 4 4 Evaluating the values of the binomial coefficients, you get the following pattern, 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 The number of the entries in each row is increased by one, as we move down. Each number in the triangle, is constructed by adding the number above it and to the left, with the number above it and to the right. The blank entries as treated as 0. Using the recursion, implement the function that computes the Pascal’s triangle. Prarrow_forward
- Moving Magic Square is the name of a game that is based on the concept of a magic square. A magic square is any square array of numbers, usually positive integers, in which the sums of the numbers in each row, each column, and both main diagonals are the same. For example, the 3 x 3 square in Table 1 is a magic square because the sum of every row, every column and the two diagonals is 15. Table 1 6 18 753 294 The game, Moving Magic Square, is played on any n x n grid containing positive integer numbers from 1, ..., n². The number n² is the movable number. You can move the number n² in one of four directions (up/down/left/right), and swap n² with the number that is currently occupying that cell. The player wants to move the number n² to reach a goal state such that the sum of the n numbers in every row, column, and both diagonals is equal to k. There are multiple states that satisfy this condition, and you can stop the game when you find the first goal state. In a 3 x 3 game, 9 is the…arrow_forwardJAVA PROGRAM Use a one-dimensional array to solve the following problem: A company pays its salespeople on a commission basis. The salespeople receive $200 per week plus 9% of their gross sales for that week. For example, a salesperson who grosses $5000 in sales in a week receives $200 plus 9% of $5000, or a total of $650. Write an application (using an array of counters) that determines how many of the salespeople earned salaries in each of the following ranges (assume that each salesperson’s salary is truncated to an integer amount): $200–299 $300–399 $400–499 $500–599 $600–699 $700–799 $800–899 $900–999 $1000 and over Summarize the results in tabular format.arrow_forwardAlgorithm for Solving Easy Sudoku Puzzles: Pick an empty cell to begin. List the numbers (1 through 9) that the cell could still be, by eliminating all the numbers in this cell's 3x3 section, and all the numbers in this cell's row, and all the numbers in this cell's column. Repeat that process for every empty cell on the board. Hint: you will need a different kind of variable (not a matrix) to store these possibilities for each location. At the end of this process, the value of a few cells will be completely known, i.e., all other eight numbers have been eliminated as possibilities. So now you can go back and re-process all the unknown cells on the board with this new information. At the end of that re-processing, if there are any cells that are now completely known, that weren't completely known before, then you can re-process again. That re-processing can continue again and again until there are no longer any new completely known values. If the all of the values on the board are…arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning