
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 Plus Mylab Programming With Pearson Etext -- Access Card Package (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)
- For the following truth table: a) Write the canonical SOP. Row × Y Z F 0 0 0 0 0 b) Write the canonical POS. | 0 0 1 2 0 1 0 1 3 0 1 1 0 4 1 0 0 0 5 1 0 1 1 6 1 1 0 0 7 1 1 1 1arrow_forward(团) (四) The Dog class has a constructor that takes two parameters. The first parameter is a String representing a dog's name and the second parameter is an int representing the dog's age, in months. 9 Mark for Review ARC The following code segment appears in a class other than Dog. Which of the following best describes the contents of dog1 and dog2 as a result of executing this code segment? Dog dogl new Dog ("Rex", 4); Dog dog2 dogl dog1; new Dog("Fido", 60); dog1 and dog2 are Dog variables that each contain the same Dog object, which represents a dog named "Fido' that is 60 months old. dogl is a Dog variable that contains a Dog object representing a dog named "Fido" that is 60 months old, and dog2 is a Dog variable that contains a Dog object representing a dog named "Rex" that is 4 months old. dogl and dog2 are Dog reference variables that each contain a reference to the same memory address that contains the Dog object representing a dog named "Fido' that is 60 months old. dogl is a…arrow_forwardThe following code segment is intended to assign to newword the result created by removing the first occurrence of "a" from word. Assume that the String variable word has been properly declared and initialized. This code segment works for some, but not all, values of word. int aLoc word.indexOf("a"); String newword word.substring(0, aLoc) + word.substring(aLoc + 1); 18 Mark for Review Which of the following conditions best describes the condition in which this code segment will not work a intended and will result in a runtime error? is the first character in word. is the last character in word. word does not contain the character "a". word contains only a sequence of multiple "a" characters.arrow_forward
- Consider the following code segment, which is intended to create a String that consists of the last character in word and assign it to the variable lastChar String word / initialization not shown */; // line 1 int len word.length(); // line 2 String lastChar word.substring(len); // line 3 17 Mark for Review Which of the following best describes why this code segment will not work as intended? substring needs to be called with two parameters, so the method call in line 3 should be changed to word.substring(len, len + 1). len is not the correct index of the last character in word, so the method call in line 3 should be changed to word.substring(len - 1). len is not the correct index of the last character in word, so the method call in line 3 should be changed to word.substring(len + 1). substring cannot be called with a variable as the parameter, so the method call in line 3 should be changed to word.substring (word.length()). ABCarrow_forwardConsider the following code segment. String one String two "computer"; "science"; String concat / missing code */; System.out.println(concat); 2 16 Mark for Review ARC Which of the following expressions can be used to replace/missing code / so that the code segment prints the string "pun"? one.substring(3, 4) + two.substring(4, 4) one.substring(3, 5) + two.substring(4, 5) one.substring(4, 5) + two.substring(5, 5) one.substring(4, 6) + two.substring(5, 6)arrow_forwardPlease R show code and output for the following questions.arrow_forward
- Go through Chapters 2-4 of the 9th edition of Foundations of Information Systems: What do you like or not like about the student registration process? Do you believe that a university should be allowed to monitor emails sent and received on the university computers? Why or why not? Support your answer. Is security a technical issue? A business issue? Both? Support your answer.arrow_forwardThank You Computer SciencePlease provide source code in C and also the state diagram in drawing form not text Design a state diagram to recognize one form of the comments of the C- based programming languages, those that begin with /* and end with */. Submission: a state transition diagram (no source code required) specifying all necessary components.arrow_forwardHello, Mistakely submitted blurr image please skip otherwise unhelpful. Computer science.arrow_forward
- Mistakely submitted blurr image please skip otherwise unhelpful. Computer science.arrow_forwardSubject = Computer Science i mistakely submitted blurr image please skip it.arrow_forwardOR AND Neg-AND D A Output D A Output B D Output AB Output AB Output AB Output AB 00 01 10 00 00 01 10 10 11 NOR 11 10 |1|1 NAND Neg-OR B A Do A Output B Do A Output Output B AB Output AB Output AB Output 00 00 00 01 01 01 10 10 10 11 |11 XOR XNOR NOT A Output Output Output B B AB Output AB Output A Output 00 00 01 01 0 1 10 10 11 |1|1arrow_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



