Nesting Loops and Ifs
16. Filling in the Formula
Answer:
Did you get the condition exactly correct? Check below.
Filling in the Formula
The program so far:
import java.util.Scanner; // User picks ending value for time, t. // The program calculates and prints // the distance the brick has fallen for each t. // public class FallingBrick { public static void main (String[] args ) { final double G = 9.80665; // constant of gravitational acceleration int t, limit; // time in seconds; ending value of time double distance; // the distance the brick has fallen Scanner scan = new Scanner( System.in ); // Get the number of seconds System.out.print( "Enter limit value: " ); limit = scan.nextInt(); // Print a table heading System.out.println( "seconds\tDistance" ); // '\t' is tab System.out.println( "-------\t--------" ); t = 0 ; // calculate the distance for each second while ( t <= limit ) { // calculate distance // output result t = t + 1 ; } } } |
The loop body will execute for t
= 0, 1, 2, ..., limit. At the end of the last execution, t
is changed to (limit+1)
. But the conditional expression will not allow execution back into the loop body when t
is (limit+1)
.
Now calculate the distance for each value of t
. Here is the formula you might find in a physics textbook:
distance = (1/2)Gt2
Translate the formula into a Java statement to fill the first blank.
Question 16:
Fill in the two blanks. Watch out: there are two traps!