0

基本的に、私は変数を持っておりtime、プログラムに1秒ごとに他の値を出力させたいと考えています。

たとえば、100 を入力すると、20 秒しか出力されません。

import java.util.Scanner;
public class CannonBlaster {

public static void main(String[] args) {


    Scanner input=new Scanner(System.in);
     final double DELTA_T = 0.01; //initiating all variables
     final double G = 9.81; 
     double s = 0.0; 
     double time = 0.0; 
     double second = 0;


    System.out.println("What's the initial velocity?: ");//asking for the initial velocity
    double v =input.nextDouble();


    while (s >= 0.0) //while loop is used. As long as the height isn't negative it will continue to go.
    {

    s += v * DELTA_T; //demonstrates the change of velocity and position for every .01 second.
    v -= G * DELTA_T; 
    time += DELTA_T; 

    System.out.println("The time is: "+time+" "+(double) Math.floor(time)+" "+Math.round(time * 1000) / 1000);
    second=Math.round(time * 1) / 1;
    if ((double) Math.floor(time) ==time)
     {
       System.out.println("Approximated position: "+ s); 
       System.out.println("Formula's position: "+(100.0 * time - (time*time * G) / 2.0)); //prints out the formula values and the loop values.

     }


    }




}

混乱してすみません、仕事に行くためにさまざまな方法を試してきましたが、今のところ何も見つかりませんでした.

4

2 に答える 2