
Concept explainers
Repeat Exercise 2 in Chapter 7, but use an instance of ArrayList instead of an array. Do not read the number of values, but continue to read values until the user enters a negative value.

Explanation of Solution
Program Plan:
- Import required package.
- Define “CountFamiles”class.
- Define main function.
- Create object for scanner class.
- Create array “incomeArr” by using “ArrayList”.
- Display the prompt statement.
- Assign “additionalValues” to “true”.
- Initializes required variable.
- Read input of income from user up to the value of “additionalValues” is “false”.
- Display prompt statement for each family.
- Read each family income from user and store it to “incomeValues”.
- If “incomeValues” is less than “0”, then set “additionalValues” to “false”.
- Otherwise, add the “incomeValues” to array “incomeArr”.
- Increment the index.
- Compute maximum income using “for” loop.
- If “incomeArr.get(i)” is greater than maximum income, then assign maximum income to “incomeArr.get(i)”.
- Display maximum income.
- Display “10” percent of maximum income by “0.1 * maximumIncome”.
- Initializes the count value to “0”.
- Compute the count of families with incomes less than “10” percentage of maximum income using “for” loop.
- Check condition. If value of “incomeArr.get(i)” is less than “0.1 * maximumIncome”, then increment count value and display the family income with less than “10” percentage of income by family wise.
- Finally display the count of families.
- Define main function.
Program:
The below java program is used to counts the number of families with less than “10” percent of maximum income using array.
“CountFamiles.java”
//Import required package
import java.util.*;
//Define "CountFamiles" class
public class CountFamiles
{
//Define main function
public static void main(String[] args)
{
//Create object for scanner class
Scanner input = new Scanner(System.in);
/* Create array "incomeArr" by using "ArrayList" */
ArrayList<Double> incomeArr = new ArrayList<Double>();
//Display the prompt statement
System.out.println("Enter the income for each family. Use a negative value to indicate the end ");
//Assign "additionalValues" to "true"
boolean additionalValues = true;
//Initializes required variable
int i = 0;
/* Read input of income from user upto the value of "additionalValues" is "false" */
while(additionalValues)
{
//Display prompt statement for each family
System.out.print("Enter Income for family " + (i +1) + ": ");
/* Read each family income from user and store it to "incomeValues" */
double incomeValues = input.nextDouble();
/* If "incomeValues" is less than "0", then */
if(incomeValues < 0)
/* Set "additionalValues" to "false" */
additionalValues = false;
/* Otherwise */
else
/* Add the "incomeValues" to array "incomeArr" */
incomeArr.add(incomeValues);
//Increment the index
i++;
}
//Compute maximum income using "for" loop
double maximumIncome = incomeArr.get(0);
for(i = 0; i < incomeArr.size(); i ++)
{
/* If incomeArr.get[i] is greater than maximum income, then */
if(incomeArr.get(i) > maximumIncome)
//Assign maximum income to "incomeArr.get(i)"
maximumIncome = incomeArr.get(i);
}
//Display maximum income
System.out.println("The maximum income is: " + maximumIncome);
//Display 10 percent of maximum income
System.out.println("10% of maximum income is: " + (0.1 * maximumIncome));
//Display prompt statement
System.out.println("\nDisplaying all families with incomes less than 10% of the maximum income income");
//Initializes the count value to "0"
int countValue = 0;
//Compute the count of families with incomes less than 10% of maximum income
for( i=0; i<incomeArr.size(); i++)
{
//Check condition
if(incomeArr.get(i) < (0.1 * maximumIncome))
{
//Increment count value
countValue++;
/* Display the family income with less than 10 percentage of income by family wise */
System.out.println("Family " + (i+1) + " had income " + incomeArr.get(i));
}
}
//Display count of families
System.out.println("Count of families with 10% of maximum income is: " + countValue);
}
}
Output:
Enter the income for each family. Use a negative value to indicate the end
Enter Income for family 1: 10000
Enter Income for family 2: 48000
Enter Income for family 3: 20000
Enter Income for family 4: 12000
Enter Income for family 5: 300000
Enter Income for family 6: 40000
Enter Income for family 7: -1
The maximum income is: 300000.0
10% of maximum income is: 30000.0
Displaying all families with incomes less than 10% of the maximum income
Family 1 had income 10000.0
Family 3 had income 20000.0
Family 4 had income 12000.0
Count of families with 10% of maximum income is: 3
Want to see more full solutions like this?
Chapter 12 Solutions
Java: An Introduction to Problem Solving and Programming (8th Edition)
Additional Engineering Textbook Solutions
Problem Solving with C++ (10th Edition)
Starting Out With Visual Basic (8th Edition)
Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
Computer Science: An Overview (13th Edition) (What's New in Computer Science)
SURVEY OF OPERATING SYSTEMS
Starting Out with Java: From Control Structures through Objects (7th Edition) (What's New in Computer Science)
- 20.22: LAB Program: Text message decoder 20.22 LAB*: Program: Text message decoder LAB ACTIVITY 20.22.1: LAB*: Program: Text message decoder Full screen 0/6 Program Specifications Write a program that reads a line of text message and identifies any supported abbreviations in the text. Note: This program is designed for incremental development. Complete each step and submit for grading before starting the next step. Only a portion of tests pass after each step but confirm progress. Step 1 (3 pts): Read and verify user input. Use getline () to read a line of user input into a string. Output the string. Submit for grading to confirm 2 tests pass. Ex: If the input is: Enter text: IDK if I'11 go. It's my BFF's birthday. the output is: You entered: IDK if I'11 go. It's my BFF's birthday. Step 2 (3 pts): Identify abbreviations. Search the string (by using Eind ()) for any supported abbreviations and print a list of found abbreviations along with the decoded meaning. Assume each unique…arrow_forwardPlease write on C++ programmingarrow_forwardLAB ACTIVITY 21.16.1: LAB*: Program: Rock paper scissors Exit Full screen 0/10 Program Specifications Write a program to play an automated game of Rock, Paper, Scissors. Two players make one of three hand signals at the same time. Hand signals represent a rock, a piece of paper, or a pair of scissors. Each combination results in a win for one of the players. Rock crushes scissors, paper covers rock, and scissors cut paper. A tie occurs if both players make the same signal. Use a random number generator of 0, 1, or 2 to represent the three signals. Note: this program is designed for incremental development. Complete each step and submit for grading before starting the next step. Only a portion of tests pass after each step but confirm progress. Step 0. Read starter template and do not change the provided code. Integer constants are defined for ROCK, PAPER, and SCISSORS. A Random object is created and a seed is read from input and passed to the Random object. This supports automated…arrow_forward
- 20.22: LAB*: Program: Text message decoder 20.22 LAB*: Program: Text message decoder LAB ACTIVITY 20.22.1: LAB*: Program: Text message decoder Full screen 0/6 ☐ Program Specifications Write a program that reads a line of text message and identifies any supported abbreviations in the text. Note: This program is designed for incremental development. Complete each step and submit for grading before starting the next step. Only a portion of tests pass after each step but confirm progress. Step 1 (3 pts): Read and verify user input. Use getline() to read a line of user input into a string. Output the string. Submit for grading to confirm 2 tests pass. Ex: If the input is: Enter text: IDK if I'll go. It's my BFF's birthday. the output is: You entered: IDK if I'll go. It's my BFF's birthday. Step 2 (3 pts): Identify abbreviations. Search the string (by using find()) for any supported abbreviations and print a list of found abbreviations along with the decoded meaning. Assume each unique…arrow_forwardThe Greatest and Least of These Write a program with a loop that lets the user enter a series of integers. The user should enter -99 to signal the end of the series. After all the numbers have been entered, the program should display the largest and smallest numbers entered. Input your program in the blank textbox, run it against the web based C++ tool to ensure it compiles Please make sure to comment your code, this is worth 3 points for this question. 114 Edit View Insert Format Tools Table 1201 Search F3 F4 F5 A PrtScn Hom F6 F7 F8arrow_forwardKS My library> CS 20.4 LAB: Max of 3 LAB ACTIVITY 20.4.1: LAB: Max of 3 Full screen 0/10 Write a program that takes in three integers as inputs and outputs the largest value. If the input integers are the same, output the integers' value. Ex: If the input is: 1 2 3 the output is: Max of [1, 2, 3] is 3 Run main.cpp #include 1 2 using namespace std; 3 4 int main() { 5 int vall; Q Search Open new tab El Do History Tuarrow_forward
- 21.5: LAB: Countdown until matching digits 21.5 LAB: Countdown until matching digits LAB ACTIVITY 21.5.1: LAB: Countdown until matching digits Full screen 0/10 Write a program that takes in an integer in the range 11-99 (inclusive) as input. The output of the program is a countdown starting from the input integer until an integer where both digits are identical. End with a newline. Ex: If the input is: 93 the output is: 93 92 91 90 89 88 Ex: If the input is: 11 the output is: 11 Ex: If the input is: or any value not between 11 and 99 (inclusive), the output is: Input must be 11-99 For coding simplicity, follow each output number by a space, even the last one. Use a while loop. Compare the digits; do not write a large if-else for all possible same-digit numbers (11, 22, 33,.... 99), as that approach would be cumbersome for larger ranges. Run main.cpp 1 #include 2 using namespace std; 3 4 int main() { 5 6 7 8 / Type your code here. */ return 0; 9 } 10 Open new tab Dock History Tutorial…arrow_forward23.2 LAB: Step counter LAB ACTIVITY 23.2.1: LAB: Step counter Full screen 0/10 A pedometer treats walking 1 step as walking 2.5 feet. Define a function named FeetToSteps that takes a double as a parameter, representing the number of feet walked, and returns the number of steps walked as an integer by type casting. Then, write a main program that reads the number of feet walked as an input, calls function FeetToSteps() with the input as an argument, and outputs the number of steps returned from FeetToSteps(). Use floating-point arithmetic to perform the conversion. Note: Type casting a double to an integer may affect the result's accuracy. Ex: If the input is: 150.5 the output is: 60 The program must define and call a function: int FeetToSteps (double userFeet) Run main.cpp 1 #include 2 #include 3 using namespace std; 4 5 /* Define your function here */ 6 7 int main() { 8 / Type your code here */ 9 10 return 0; 11 12 Open new tab Dock History Tutorial ENG 3:05 PMarrow_forward19.11 LAB: Convert to seconds LAB ACTIVITY 19.11.1: LAB: Convert to seconds LJ Full screen Write a program that reads in seconds, minutes, and hours as input, and outputs the time in seconds only. Ex: If the input is: 40 6 1 where 40 is the number of seconds, 6 is the number of minutes, and 1 is the number of hours, the output is: 4000 seconds ▷ Run main.cpp #include 1 2 using namespace std; 3 4 int main() { 5 int seconds; int minutes Q Search Open new tab History H Warrow_forward
- The Greatest and Least of These Write a program with a loop that lets the user enter a series of integers. The user should enter-99 to signal the end of the series. After all the numbers have been entered, the program should display the largest and smallest numbers entered. Input your program in the blank textbox, run it against the web based C++ tool to ensure it compiles Please make sure to comment your code, this is worth 3 points for this question. Edit View Insert Format Tools Table 12pt v Paragraph BIUA T² v هم ...arrow_forwardAreas of Rectangles The area of a rectangle is the rectangle's length times its width. Write a program that asks for the length and width of two rectangles. The program should tell the user which rectangle has the greater area, or if the areas are the same. Input your program in the blank textbox, run it against the web based C++ tool to ensure it compiles Please make sure to comment your code, this is worth 3 points for this question. Edit View Insert Format Tools Table 12pt v Paragraph BIUA T² Varrow_forwardMiles per Gallon Write a program that calculates a car's gas mileage. The program should ask the user to enter the number of gallons of gas the car can hold and the number of miles it can be driven on a full tank. It should then display the number of miles that may be driven per gallon of gas. Input your program in the blank textbox, run it against the web based C++ tool to ensure it compiles Please make sure to comment your code, this is worth 3 points for this question. Edit View Insert Format Tools Table 12pt v Paragraph BIUAarrow_forward
- EBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENTProgramming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:CengageC++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
- Microsoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,Programming with Microsoft Visual Basic 2017Computer ScienceISBN:9781337102124Author:Diane ZakPublisher:Cengage LearningNp Ms Office 365/Excel 2016 I NtermedComputer ScienceISBN:9781337508841Author:CareyPublisher:Cengage



