
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)
- Problem 6. Using the grammar in Example 3.2, show a parse tree and a leftmost derivation for each of the following statements: a. A = A * (B + (C * A))arrow_forwardProblem 8. Prove that the following grammar is ambiguous: <S> → <A> <A> → <A> + <A> | <id> <id> → a | b | carrow_forward1 Mark for Review Consider the following class declaration. public class Sample { private int a; private double b; public Sample (int x, double y) { } a = x; b = yi } // No other constructors The following method appears in a class other than Sample. public static void test() { Sample object = new /* missing constructor call */ ; } APC Which of the following could be used to replace /* missing constructor call */ so that the method will compile without error? Highlights &arrow_forward
- Consider the following class definition public class Bird private String species; private String color; private boolean canFly; public Bird(String str, String col, boolean ef) ' species str; color col; cantly cf; Autosaved at: 20:39:18 Mark for Review Which of the following constructors, if added to the Bird class, will cause a compilation error? public Bird() ' species "unknown"; color "unknown"; canFly false; public Bird(String col, String str). species str; color col; cantly false; public Bird (boolean ef, String str, String col) { species str color col; canFlyef; public Bird(String col, String str, boolean ef) > species str; color col; cantly ef; (0)arrow_forwardProblem A Add the 8-bit 2's-complement integer 01111111 to the 6-bit 2's-complement integer 011111. Sign-extend the 6-bit number to 8 bits. Add in binary and write the 8-bit result. State whether overflow occurred and how you know. Give the equivalent base-10 problem and result. Problem B Add the 7-bit 2's-complement integer 1010010 to the 5-bit 2's-complement integer 01110. Sign-extend the 5-bit number to 7 bits. Add in binary and write the 7-bit result. State whether overflow occurred and how you know. Give the equivalent base-10 problem and result. Problem C Add the 7-bit 2's-complement integer 1001110 to the 6-bit 2's-complement integer 100100. Sign-extend the 6-bit number to 7 bits. Add in binary and write the 7-bit result. State whether overflow occurred and how you know. Give the equivalent base-10 problem and result.arrow_forwardNeed help with python! It wont output right. and any alterations break the code.So I have the code done below but I dont know how to have it output a certain way.Expected output:Enter your name: PhilIn text name is: P h i lIn ASCII decimal: 80 104 105 108 In ASCII binary: 01010000 01101000 01101001 01101100Enter your age: 71As a string "71": 7 1In ASCII decimal: 55 49In ASCII binary: 0110111 0110001As an int variable: 71In numeric binary: 1000111Code (need help here): print(f"\nName: {name}")# Loop through each letter:for letter in name: ascii_val = ord(letter) # decimal ASCII binary_val = format(ascii_val, '08b') # 8-bit binaryprint("Character")print(f"{letter:9}")print("ASCII Decimal")print(f"{ascii_val:13}")print("ASCII Binary")print(f"{binary_val}") # ageage_str = input("\nEnter your age: ")age_int = int(age_str)print(f"\nAge as string: {age_str}")print(f"Age as int: {age_int}")print(f"Age in ASCII (per digit):")for digit in age_str: ascii_val = ord(digit)…arrow_forward
- Need help with python code!Issue with having to enter name, then give me the text, ASCII decimal/binary of my name. And below same thing but with age (as string, decimal, binary, int variable, and number binary)Code: #Bob in ASCII binary is 6611198name = "Bob" # Assign a variable letter = "A"#print(f"{name} in ASCII binary is ",end="")for letter in name: print(f"{letter>7} ",end="") print()for letter in name: asciiLetter = ord(letter) #Use the ord function to get the decicmal ASCII of letter. print(f'{asciiLetter:b} ', end="")arrow_forwardHW #2. Data Representation - Part 2 - Complement, Addition, and Subtraction 1. Using five bits to represent each number, write the representations of 9 and -9 in 1's complement, signed magnitude, and 2's complement integers. 2. Write the six-bit 2's complement representation of -27. 3. Convert the following decimal numbers to 12 bit 2's complement: a. -145 b. 1025 c. -1536 d. 1729 e. -999 4. Convert the following 2's complement binary numbers to decimal. a. 1010 b. 0101 c. 10010110 d. 0111010010110011 5. Convert the following decimal numbers to binary 4-bit 2's complement representations or explain why the conversion is not possible. a. 5 b. -7 c. 8 d. -12 e. -1 f. 7f. 14 6. Answer the following questions: a. What is the largest positive number one can represent in a 12-bit 2's complement code? Write your result in binary and decimal. b. What is the greatest magnitude negative number one can represent in a 12-bit 2's complement code? Write your result in binary and decimal. c. What is…arrow_forward3. Examine the pseudocode below, then find and correct all the bugs. // A high school is holding a recycling competition, and this program // allows a user to enter a student's year in school (1 through 4) and // number of cans collected for recycling. Data is entered continuously // until the user enters a 9 for the year. After headings, output is four // lines -- one for each school year class. Find and fix all bugs. start Declarations num year num cans num SIZE = 0 num QUIT = “999” num collectedArray[SIZE] = 0, 0, 0 string HEAD1 = "Can Recycling Report" string HEAD2 = "Year Cans Collected” output "Enter year of student or ", QUIT, " to quit " output year while year not QUIT output "Enter number of cans collected " input cans collectedArray[year] = collectedArray[year] + cans output "Enter year of student or ", QUIT, " to quit " output year endwhile output HEAD1 and HEAD2 year = 1 while year <…arrow_forward
- Watch Dr. Raj Ramesh's "What Is Artificial Intelligence" video, study Ralph M. Stair's "Fundamentals of Information Systems" 9th edition textbook, and conduct research on Al technology. Discussion question: What do you know about Al? Explain the potential value and the potential limitations of artificial intelligence.arrow_forwardProvide the full C++ code that fulfills the directions. Below I have provided all 6 test files contents programming_assignment_1-test_file_1.c: // ***************************************************// * CS460: Programming Assignment 1: Test Program 1 *// ***************************************************procedure main (void){int counter;counter = 2;/*counter = 100;*/printf ("counter = %d\n", counter);} programming_assignment_1-test_file_2.c: // ***************************************************// * CS460: Programming Assignment 1: Test Program 2 *// ***************************************************procedure main (void){int /* hidden; int */ counter;counter = /*2*/ 100;/* hidden = */ /*5;*/printf ("counter = %d\n", counter);} programming_assignment_1-test_file_3.c: // ***************************************************// * CS460: Programming Assignment 1: Test Program 3 *// ***************************************************//procedure main (/*avoid*/void)procedure main…arrow_forwardThe Example 2 address is stored able named nail, which consists of a first name wed by 18, wed name Assume that at least three characters Write a statement that uses the method and to the length of the first name Wote another statement that between and the length of the last name The same wed by followed by the last name flowed by the last cost of the first of the first name followed by andomly ected character from the frst name, followed by cted from a random postc Ternington generate a random number between the athad ad to generate aarrow_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



