When analyzing data sets, such as data for human heights or for human weights, a common step is to adjust the data. This adjustment can be done by normalizing to values between 0 and 1, or throwing away outliers. For this program, adjust the values by dividing all values by the largest value. The input begins with an integer indicating the number of floating-point values that follow. Assume that the list will always contain fewer than 20 floating-point values. Output each floating-point value with two digits after the decimal point, which can be achieved as follows: System.out.printf("%.2f", yourValue); Ex: If the input is: 5 30.0 50.0 10.0 100.0 65.0 the output is: 0.30 0.50 0.10 1.00 0.65 The 5 indicates that there are five floating-point values in the list, namely 30.0, 50.0, 10.0, 100.0, and 65.0. 100.0 is the largest value in the list, so each value is divided by 100.0. For coding simplicity, follow every output value by a space, including the last one. import java.util.Arrays; import java.util.Scanner; public class LabProgram { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // user input int n = sc.nextInt(); // creating the array double[] arr = new double[n]; // looping over the array and storing the input for (int i = 0; i < n; i++) { arr[i] = sc.nextDouble(); } System.out.println(); // finding the max value from array double maxVal = Arrays.stream(arr).max().getAsDouble(); // looping over the array elements for (double val : arr) { //dividing each value by maxVal double res = val / maxVal; //printing on console System.out.printf("%.2f ", res); } } }
When analyzing data sets, such as data for human heights or for human weights, a common step is to adjust the data. This adjustment can be done by normalizing to values between 0 and 1, or throwing away outliers.
For this
Output each floating-point value with two digits after the decimal point, which can be achieved as follows:
System.out.printf("%.2f", yourValue);
Ex: If the input is:
5 30.0 50.0 10.0 100.0 65.0
the output is:
0.30 0.50 0.10 1.00 0.65
The 5 indicates that there are five floating-point values in the list, namely 30.0, 50.0, 10.0, 100.0, and 65.0. 100.0 is the largest value in the list, so each value is divided by 100.0.
For coding simplicity, follow every output value by a space, including the last one.
import java.util.Arrays;
import java.util.Scanner;
public class LabProgram {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// user input
int n = sc.nextInt();
// creating the array
double[] arr = new double[n];
// looping over the array and storing the input
for (int i = 0; i < n; i++) {
arr[i] = sc.nextDouble();
}
System.out.println();
// finding the max value from array
double maxVal = Arrays.stream(arr).max().getAsDouble();
// looping over the array elements
for (double val : arr) {
//dividing each value by maxVal
double res = val / maxVal;
//printing on console
System.out.printf("%.2f ", res);
}
}
}
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 1 images