
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 MyProgrammingLab with Pearson eText -- Access Card Package (7th 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)
- No AI USE PLEASE. You are using a web browser to load a webpage. Let’s assume the size of the webpage is negligible. The access link rate of the webserver is 1 Gigabits per second. The IP address for the associated URL is not cached in your local host, so a DNS lookup is necessary to obtain the IP address. Suppose that n DNS servers are visited before your host receives the IP address from DNS; the successive visits incur an RTT of RTT1, . . . , RTTn. Let RTT0 denote the RTT between the local host and the webserver containing the webpage. Now answer the following: 1) Ignore all types of delays at the client and the servers. How much time elapses from when the client clicks on the link of the webpage until the client receives the content of the webpage? 2) Now suppose, the HTML file references 10 additional objects (15 MB each) on the same server. Considering only the transmission delay at the webserver for each of these objects and ignoring all other delays at the host and the servers,…arrow_forwardIn a client-server file distribution paradigm, let’s assume the server has an upload rate of 25 Mbps. Each client’s download rate is 3 Mbps. Now consider multiple scenarios where the number of clients is 50, 200, and 1000. For each of these scenarios, consider 2 possible upload rates of each client: 200 Kbps, and 1Mbps. For these 6 combinations of the number of clients and the client-upload rate, what are the minimum distribution times for a file of size 30 Gigabit? Now, if the same file needs to be distributed in a P2P paradigm, what will be the 6 minimum distribution times? Show all calculations and provide detailed explanations. No AI use Pleasearrow_forwardFirst study the attached code for a simple internet ping server (UDP_Ping_Server.py). You will have to implement a corresponding client in python. The functionality provided by these programs will be similar to the functionality provided by standard ping programs available in modern operating systems. However, these programs will use a simpler protocol, UDP, rather than the standard Internet Control 1Message Protocol (ICMP) to communicate with each other. The ping protocol allows a client machine to send a packet of data to a remote machine, and have the remote machine return the data back to the client unchanged (an action referred to as echoing). Among other uses, the ping protocol allows hosts to determine round-trip times to other machines. Do not modify the attached server code. In this server code, 30% of the client’s packets are simulated to be lost. The server sits in an infinite loop listening for incoming UDP packets. When a packet comes in and if a randomized integer is…arrow_forward
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 199282222 20 # We will need the following module to generate randomized lost packets import random from socket import * # Create a UDP socket # Notice the use of SOCK_DGRAM for UDP packets serverSocket = socket (AF_INET, SOCK_DGRAM) # Assign IP address and port number to socket serverSocket.bind(('', 12000)) while True: # Generate random number in the range of 0 to 10 rand = random.randint(0, 10) # Receive the client packet along with the address it is coming from message, address = serverSocket.recvfrom (1024) # Capitalize the message from the client message = message.upper() # If rand is less is than 4, we consider the packet lost and do not respond if rand < 4: continue # Otherwise, the server responds serverSocket.sendto (message, address)arrow_forwardReading Chapters 7-8 of Ralph Stair's "Fundamentals of Information Systems" 9th Edition: Chapter 7: Discussion questions: 4. How could you use a community of practice (COP) to help you in your work or studies? How would you go about identifying who to invite to join the CoP? Chapter 8: Discussion questions: 2. Thoroughly discuss the pros and cons of buying versus building software.arrow_forwardYou are using a web browser to load a webpage. Let's assume the size of the webpage is negligible. The access link rate of the webserver is 1 Gigabits per second. The IP address for the associated URL is not cached in your local host, so a DNS lookup is necessary to obtain the IP address. Suppose that n DNS servers are visited before your host receives the IP address from DNS; the successive visits incur an RTT of RTT1, ..., RTTn. Let RTTo denote the RTT between the local host and the webserver containing the webpage. Now answer the following: 1) Ignore all types of delays at the client and the servers. How much time elapses from when the client clicks on the link of the webpage until the client receives the content of the webpage? 2) Now suppose, the HTML file references 10 additional objects (15 MB each) on the same server. Considering only the transmission delay at the webserver for each of these objects and ignoring all other delays at the host and the servers, recalculate the…arrow_forward
- In a client-server file distribution paradigm, let's assume the server has an upload rate of 25 Mbps. Each client's download rate is 3 Mbps. Now consider multiple scenarios where the number of clients is 50, 200, and 1000. For each of these scenarios, consider 2 possible upload rates of each client: 200 Kbps, and 1Mbps. For these 6 combinations of the number of clients and the client-upload rate, what are the minimum distribution times for a file of size 30 Gigabit? Now, if the same file needs to be distributed in a P2P paradigm, what will be the 6 minimum distribution times?arrow_forwardA password consists of 4 letters (A–Z) followed by 2 digits (0–9).(a) How many unique passwords are possible if letters and digits may repeat?(b) How many if letters cannot repeat?arrow_forwardA company manufactures three types of sensors: A (40%), B (35%), and C (25%). Theprobabilities that a sensor fails within a year are 0.02, 0.04, and 0.05, respectively. (a) If one sensor is chosen at random, what is the probability it fails within a year?(b) If it fails, what is the probability it was type B?arrow_forward
- Please solve and show all steps. A chemical engineer records the tensile strength (in MPa) of 10 samples:42.1, 43.3, 41.9, 42.5, 42.8, 43.0, 42.6, 41.8, 42.7, 43.2. (a) Compute the sample mean and standard deviation.(b) Interpret the results in context.arrow_forwardNo AI pleasearrow_forwardthe command isnt working as it shouldarrow_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



