PyCharms Iteration Part a Lets write the code to prompt the
PyCharm’s Iteration
Part (a): Let’s write the code to prompt the user for (an integer) blood-sugar reading (BSR) and print a warning message if it is over 500. Also, print the message \">> Invalid input\" if the user enters a non-integer, such as a float or a string.
Note that if you have completed the Worked_Exercise_5.1 above you should use that code as the basis for this problem.
Use this sample interaction to demonstrate your code:
Enter a BSR: 155
Enter a BSR: string input
>> Invalid input
Enter a BSR: 522
** Warning! Blood sugar reading over 500: 522
Enter a BSR: 485
Enter a BSR: 578
** Warning! Blood sugar reading over 500: 578
Enter a BSR: 210
Enter a BSR: 330.6
>> Invalid input
Enter a BSR: 519
** Warning! Blood sugar reading over 500: 519
Part (b)
Create a list of BSRs as follows:
blood_sugar_readings = [155, 190, 522, 485, 578, 210, 130, 519]
Use a for-loop to iterate through the list in order to find the highest and lowest BSR values. Note that finding the maximum and minimum values of a list using a for-loop is shown in Section 5.7.2 of the textbook on p. 62-3. (Note that since we are ‘hard-coding’ the list, we may assume the data is valid, i.e., it has been previously checked.)
HINT: as is done in the textbook, while developing the code, add a print statement as the last line of the for-loop writing out the current BSR value, the smallest, and the largest. Then when your code is running correctly, you can comment out that line (but leave it in the code-base).
After looping through the list, print the highest and lowest BSR values.
Solution
1)
BloodSugarReading.java
import java.util.Scanner;
public class BloodSugarReading {
public static void main(String[] args) {
// Declaring avriable
int num;
// Scanner class object is used to read the inputs entered by the user
Scanner sc = new Scanner(System.in);
// This loop continue to execute until the user enter\'s other than zero
while (true) {
try {
// Getting the entered integer from the user
System.out.print(\"Enter a BSR: (Zero(0) to Exit) :\");
num = sc.nextInt();
// If it is Integer and if it is greater than 500 the display
// the message
if (num > 500) {
System.out
.println(\"** Warning! Blood sugar reading over 500: \"
+ num);
}
// If the entered integer is zero program will exit
else if (num == 0)
break;
}
// If the user entered thing is not an integer then error message
// will get displayed
catch (Exception e) {
// Displaying the error message
System.out.println(\">> Invalid Input\");
sc.nextLine();
}
}
}
}
_______________________________________
output:
Enter a BSR: (Zero(0) to Exit) :155
Enter a BSR: (Zero(0) to Exit) :Hello
>> Invalid Input
Enter a BSR: (Zero(0) to Exit) :522
** Warning! Blood sugar reading over 500: 522
Enter a BSR: (Zero(0) to Exit) :485
Enter a BSR: (Zero(0) to Exit) :578
** Warning! Blood sugar reading over 500: 578
Enter a BSR: (Zero(0) to Exit) :210
Enter a BSR: (Zero(0) to Exit) :330.6
>> Invalid Input
Enter a BSR: (Zero(0) to Exit) :519
** Warning! Blood sugar reading over 500: 519
Enter a BSR: (Zero(0) to Exit) :0
______________________________________________
2)
MaxAndMinBSR.java
public class MaxAndMinBSR {
public static void main(String[] args) {
//Declaring variables
int min,max;
//Declaring and initializing an integer array
int blood_sugar_readings[] = {155, 190, 522, 485, 578, 210, 130, 519};
//Assigning the first value of the array to min variable
min=blood_sugar_readings[0];
//Assigning the first value of the array to max variable
max=blood_sugar_readings[0];
//This loop will find the smallest and largest BSR value in the array
for(int i=0;i<blood_sugar_readings.length;i++)
{
//Finding the largest BSR value in the array
if(blood_sugar_readings[i]>max)
max=blood_sugar_readings[i];
//Finding the Smallest BSR value in the array
if(blood_sugar_readings[i]<min)
min=blood_sugar_readings[i];
//System.out.println(\"\ Current BSR value is :\"+blood_sugar_readings[i]);
//System.out.println(\"The Smallest BSR value :\"+min);
//System.out.println(\"The Largest BSR value :\"+max);
}
//Displaying the Smallest BSR value
System.out.println(\"The Smallest BSR value :\"+min);
//Displaying the Largest BSR value
System.out.println(\"The Largest BSR value :\"+max);
}
}
_________________________________________
Output:
Current value is :155
Minimum BSR value :155
Maximum BSR value :155
Current value is :190
Minimum BSR value :155
Maximum BSR value :190
Current value is :522
Minimum BSR value :155
Maximum BSR value :522
Current value is :485
Minimum BSR value :155
Maximum BSR value :522
Current value is :578
Minimum BSR value :155
Maximum BSR value :578
Current value is :210
Minimum BSR value :155
Maximum BSR value :578
Current value is :130
Minimum BSR value :130
Maximum BSR value :578
Current value is :519
Minimum BSR value :130
Maximum BSR value :578
______________________________Thank You



