Concept explainers
(Dangling-else Problem) The Java compiler always associates an else with the immediately preceding if unless told to do otherwise by the placement of braces ({ and }). This behavior can lead to what is referred to as the dangling-else problem. The indentation of the nested statement
- 1 if (x > 5)
- 2 if (y > 5)
- 3 System.out.println("x and y are > 5");
- 4 else
- 5 System.out.println("x is <= 5");
appears to indicate that if x is greater than 5, the nested if statement determines whether y is also greater than 5. If so, the statement outputs the string "x and y are > 5". Otherwise, it appears that if x is not greater than 5, the else part of the if ...else outputs the string "x is <= 5". Beware! This nested if ...else statement does not execute as it appears. The compiler actually interprets the statement as
- 1 if (x > 5)
- 2 if (y > 5)
- 3 System.out.println("x and y are > 5");
- 4 else
- 5 System.out.println("x is <= 5");
in which the body of the first if is a nested if ...else. The outer if statement tests whether x is greater than 5. If so, execution continues by testing whether y is also greater than 5. If the second condition is true, the proper string—"x and y are > 5"—is displayed. However, if the second condition is false, the string "x is <= 5" is displayed, even though we know that x is greater than 5. Equally bad, if the outer if statement’s condition is false, the inner if ...else is skipped and nothing is displayed. For this exercise, add braces to the preceding code snippet to force the nested if ...else statement to execute as it was originally intended.
Want to see the full answer?
Check out a sample textbook solutionChapter 4 Solutions
EBK JAVA HOW TO PROGRAM, LATE OBJECTS
- 1)-Write a Java program that reads values for three sides of a triangle. The sides will form atriangle if the values are greater than zero and the sum of any two sides is greater than thethird side. The program should classify the triangle as either isosceles, scalene, equilateral, orboth right-angled and scalene according to the following rules:• An equilateral triangle has all sides equal• An isosceles triangle has only two sides equal• A scalene triangle has no sides equal• In a right-angled triangle, the square of the longest side must be equal to the sumof the squares of the other two sides. (i.e., if c is the longest side among sides a, band c of a right-angled triangle then c2 = a2 + b2). Here are some specific requirements:• Include a boolean method named checkTriangle, which accepts threedouble values as arguments and returns true if they form a triangle (otherwisereturns false)• Include a value returning method named getLongest, which accepts threedouble values as arguments…arrow_forward(Intro to Java) 2. Pls help Thanksarrow_forward(Financial application: payroll) Write a Java program that reads the following information and prints a payroll statement:arrow_forward
- Q3. (Dice Rolling) Write a program that simulates the rolling of two dice. The program should use rand to roll the first die and should use rand again to roll the second die. The sum of the two values should then be calculated. [Note: Each die can show an integer value from 1 to 6, so the sum of the two values will vary from 2 to 12, with 7 being the most frequent sum and 2 and 12 being the least frequent sums.] Figure 7.26 shows the 36 possible combinations of the two dice. Your program should roll the two dice 10,000 times. Use a one-dimensional array to tally the numbers of times each possible sum appears. Print the results in a tabular format. Also, determine if the totals are reasonable (i.e., there are six ways to roll a 7, so approximately one-sixth of all the rolls should be 7). 1 2 3 4 5 1 2 4 6 7 3 4 6 7 3 4 5 7 8 9 4 7 8 9 10 7 8 10 11 7 10 11 12 Row\Col 3.arrow_forward(Algebra: solve 2 x 2 linear equations) You can use Cramer's rule to solve the following 2 x 2 system of linear equation: ax + by = e ed – bf af- ec ad - bc cx + dy = f ad – bc y = Write a program that prompts the user to enter a and f and display the result. If ad - bc is 0 b, c, d , e, , report that The equation has no solution.arrow_forward(java programming language) Write a Java program to do the following task: Assign your id number (2017296004) to an integer variable id_num Using reminder operator % on the id_num get the last 2 digits (04) and store it in num If the num is between 0 and 30 (both included), display “You are in Group 1” Otherwise if the num is between 31 and 60 (both included), display “You are in Group 2” Otherwise (num is between 61 and 99 (both included), display “You are in Group 3” Save your file as Q2.Java and upload it.arrow_forward
- circles) Write a program that prompts the user to enter the center coordinates and radii of two circles and determines whether the second circle is inside the first or overlaps with the first, as shown in Figure 4.11. (Hint: circle2 is inside circle1 if the distance between the two centers <= | r1 - r2| and circle2 overlaps circle1 if the distance between the two centers <= r1 + r2.arrow_forward(Python GUI -Tkinker) You have a group of friends coming to visit for your high school reunion, and you want to take them out to eat at a local restaurant. You are not sure if any of them have dietary restrictions, but your restaurant choices are as follows: Joe’s Gourmet Burgers—Vegetarian: No, Vegan: No, Gluten-Free: No Main Street Pizza Company—Vegetarian: Yes, Vegan: No, Gluten-Free: Yes Corner Café—Vegetarian: Yes, Vegan: Yes, Gluten-Free: Yes Mama’s Fine Italian—Vegetarian: Yes, Vegan: No, Gluten-Free: No The Chef’s Kitchen—Vegetarian: Yes, Vegan: Yes, Gluten-Free: Yes Write a Python program GUI that asks whether any members of your party are vegetarian, vegan, or gluten-free, to which then displays only the restaurants to which you may take the group.arrow_forwardQ3: (Tax Calculator) Develop a Java program that determines the total tax for each of four citizens. The tax rate is 10% for earnings up to 50,000 RM earned by each citizen and 15% for all earnings in excess of that ceiling. You are given a list with the citizens’ names and their earnings in a given year. Your program should input this information for each citizen, then determine and display the citizen’s total tax. Use class Scanner to input the data.arrow_forward
- (JAVA program language) I want last answer only, Idont need the explain.arrow_forward(In Java) In the game Clacker, the numbers 1 through 12 are initially displayed. The player throws two dice and may cover the number representing the total or the two numbers on the dice. For example, for a throw of 3 and 5, the player may cover the 3 and the 5 or just the 8. Play continues until all the numbers are covered. The goal is to cover all numbers in the fewest rolls. Create a Clacker application that displays 12 buttons numbered 1 through 12. Each of these buttons can be clicked to ‘cover’ it. A covered button displays nothing. Another button labelled Roll can be clicked to roll the dice. Include labels to display the appropriate die images for each roll. Another label displays the number of rolls taken. A New Game button can be clicked to clear the labels and uncover the buttons for a new game.arrow_forward(Intro to Java) 3. Pls help Thanksarrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning