質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

解決済

重力を考慮したボール java

puccauser
puccauser

総合スコア0

Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

2回答

0評価

0クリップ

392閲覧

投稿2020/07/19 06:48

前提・実現したいこと

重力を考慮してボールをバウンドさせたいです。

発生している問題

y座標を y=y+dy+5tt; で表していますが、tの値が大きくなるにつれ、tの二乗値が大きくなり動きが早すぎてしまいます。どのように表現したら良いでしょうか。

該当のソースコード

java

class Maru extends Shape{ /*■■■ フィールド変数部 ■■■*/ int r; // 半径 /*■■■ コンストラクタ部 ■■■*/ Maru () { // 引数が無い場合のデフォルト値 r = 80; x = y = 200; dx = 6; dy = 2; } Maru (int r, int x, int y, int dx, int dy){ // 引数がある場合 this.r = r; this.x = x; this.y = y; this.dx = dx; this.dy = dy; } /*■■■ メソッド部 ■■■*/ void draw(Graphics g){ // 仮の画用紙 img の GC である img_gが引数 g.setColor(Color.white); // 色を設定 g.drawOval(x-r, y-r, 2*r, 2*r); // ○の描画 } void update (int width, int height){ // オブジェクトのパラメータの更新 if(height-r > y && y > r){ t+=1; //時間処理 } if (x >= width-r){ dx=dx*(-1)*2; // 右端に当たったときの処理 跳ね返り係数も追加 // g.setcolor(Color.white); } if (x <= r){ dx=dx*(-1)/2; // 左端に当たったときの処理 // g.setcolor(Color.red); } if (y >= height-r){ dy=dy*(-1)/2; // 下端に当たったときの処理 t = 0; // g.setcolor(Color.blue); } if (y <= r){ dy=dy*(-1)*2; // 上端に当たったときの処理 // g.setcolor(Color.green); } x=x+dx; // x 座標の更新 y=y+dy+5*t*t; // y 座標の更新,重力加速度 } }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

rubytomato
rubytomato

2020/07/19 07:45

エンティティクラスに対応するテーブルが実際にDBにあるかご確認ください。 それとapplication.propertiesの内容をご提示ください。
A-pZ
A-pZ

2020/07/19 07:48

エラー内容を見ると、最後の方に SchemaManagementException: Schema-validation: missing table [meeting_room] とありますので、接続先のデータベースにて meeting_room が見つからないようです。
puccauser
puccauser

2020/07/19 10:17 編集

質問に対応頂き、ありがとうございます。 application.propertiesの内容は以下です。 ---- spring.jpa.database=POSTGRESQL spring.datasource.url=jdbc:postgresql://localhost:5432/mrs spring.datasource.username=mrs spring.datasource.password=mrs spring.datasource.separator=/; spring.jpa.hibernate.ddl-auto=validate spring.jpa.properties.hibernate.format_sql=true spring.datasource.sql-script-encoding=UTF-8 logging.level.org.hibernate.SQL=DEBUG logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE ---- また、エンティティクラスに対応するテーブル作成ですが、 クラスパス直下(src/main/resources/)にSQL(schema.sql)を準備しています。 (※参考書にて「SpringBoot起動時にクラスパス直下のschema.sqlを実行するので...」と記述されていた 為) ---schema.sqlの中身は以下--- DROP TABLE IF EXISTS meeting_room CASCADE /; DROP TABLE IF EXISTS reservable_room CASCADE /; DROP TABLE IF EXISTS reservation CASCADE /; DROP TABLE IF EXISTS usr CASCADE /; CREATE TABLE IF NOT EXISTS meeting_room ( room_id SERIAL NOT NULL, room_name VARCHAR(255) NOT NULL, PRIMARY KEY (room_id) )/; CREATE TABLE IF NOT EXISTS reservable_room ( reserved_date DATE NOT NULL, room_id INT4 NOT NULL, PRIMARY KEY (reserved_date, room_id) )/; CREATE TABLE IF NOT EXISTS reservation ( reservation_id SERIAL NOT NULL, end_time TIME NOT NULL, start_time TIME NOT NULL, reserved_date DATE NOT NULL, room_id INT4 NOT NULL, user_id VARCHAR(255) NOT NULL, PRIMARY KEY (reservation_id) )/; CREATE TABLE IF NOT EXISTS usr ( user_id VARCHAR(255) NOT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, role_name VARCHAR(255) NOT NULL, PRIMARY KEY (user_id) )/; ALTER TABLE reservable_room DROP CONSTRAINT IF EXISTS FK_f4wnx2qj0d59s9tl1q5800fw7/; ALTER TABLE reservation DROP CONSTRAINT IF EXISTS FK_p1k4iriqd4eo1cpnv79uvni9g/; ALTER TABLE reservation DROP CONSTRAINT IF EXISTS FK_recqnfjcp370rygd9hjjxjtg/; ALTER TABLE reservable_room ADD CONSTRAINT FK_f4wnx2qj0d59s9tl1q5800fw7 FOREIGN KEY (room_id) REFERENCES meeting_room/; ALTER TABLE reservation ADD CONSTRAINT FK_p1k4iriqd4eo1cpnv79uvni9g FOREIGN KEY (reserved_date, room_id) REFERENCES reservable_room/; ALTER TABLE reservation ADD CONSTRAINT FK_recqnfjcp370rygd9hjjxjtg FOREIGN KEY (user_id) REFERENCES usr/;
asahina1979
asahina1979

2020/07/19 12:07

エラーメッセージのトレースを簡略化しましょう 大まかに言えば at の行で自分の作成してないライブラリーのクラスが続く箇所の最初と最後以外、コードを出さないならatの行は不要
rubytomato
rubytomato

2020/07/20 04:21

出力されたエラーメッセージの以下の箇所に注目してください。 Schema-validation: wrong column type encountered in column [reserved_date] in table [reservable_room]; found [date (Types#DATE)], but expecting [timestamp (Types#TIMESTAMP)] ----------------------- スキーマ検証:テーブル[reservable_room]の列[reserved_date]で誤った列タイプが見つかりました。 [date(Types#DATE)]が見つかりましたが、[timestamp(Types#TIMESTAMP)]が必要です これはvalidateを有効にしたことで、エンティティクラスと実際のテーブルにミスマッチがあることを報告しています。 reservable_roomテーブルに対応するエンティティクラスのコードを提示してください。
rubytomato
rubytomato

2020/07/20 04:55

それと念のためリレーションシップのあると思われるmeeting_roomにテーブルに対応するエンティティクラスのコードもお願いします。
puccauser
puccauser

2020/07/23 14:29

エンティティクラスのコードは以下です。 MeetingRoom.java ’’’ package mrs.domain.model; import java.io.Serializable; import javax.persistence.*; @Entity public class MeetingRoom implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer roomId; private String roomName; public Integer getRoomId() { return roomId; } public void setRoomId(Integer roomId) { this.roomId = roomId; } public String getRoomName() { return roomName; } public void setRoomName(String roomName) { this.roomName = roomName; } } ’’’
puccauser
puccauser

2020/07/23 14:36

途中送信すみません。 以下関連するエンティティクラス。 ‘‘‘ReservableRoom.java package mrs.domain.model; import java.io.Serializable; import javax.persistence.*; @Entity public class ReservableRoom implements Serializable { @EmbeddedId private ReservableRoomId reservableRoomId; @ManyToOne @JoinColumn(name = "room_id", insertable = false, updatable = false) @MapsId("roomId") private MeetingRoom meetingRoom; public ReservableRoom(ReservableRoomId reservableRoomId) { this.reservableRoomId = reservableRoomId; } public ReservableRoom() { } public ReservableRoomId getReservableRoomId() { return reservableRoomId; } public void setReservableRoomId(ReservableRoomId reservableRoomId) { this.reservableRoomId = reservableRoomId; } public MeetingRoom getMeetingRoom() { return meetingRoom; } public void setMeetingRoom(MeetingRoom meetingRoom) { this.meetingRoom = meetingRoom; } } ‘‘‘ ‘‘‘Reservation.java package mrs.domain.model; import java.io.Serializable; import java.time.LocalTime; import java.util.Objects; import javax.persistence.*; @Entity public class Reservation implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer reservationId; private LocalTime startTime; private LocalTime endTime; @ManyToOne @JoinColumns({ @JoinColumn(name = "reserved_date"), @JoinColumn(name = "room_id") }) private ReservableRoom reservableRoom; @ManyToOne @JoinColumn(name = "user_id") private User user; public Integer getReservationId() { return reservationId; } public void setReservationId(Integer reservationId) { this.reservationId = reservationId; } public LocalTime getStartTime() { return startTime; } public void setStartTime(LocalTime startTime) { this.startTime = startTime; } public LocalTime getEndTime() { return endTime; } public void setEndTime(LocalTime endTime) { this.endTime = endTime; } public ReservableRoom getReservableRoom() { return reservableRoom; } public void setReservableRoom(ReservableRoom reservableRoom) { this.reservableRoom = reservableRoom; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public boolean overlap(Reservation target) { if (!Objects.equals(reservableRoom.getReservableRoomId(), target.reservableRoom.getReservableRoomId())) { return false; } if (startTime.equals(target.startTime) && endTime.equals(target.endTime)) { return true; } return target.endTime.isAfter(startTime) && endTime.isAfter(target.startTime); } } ‘‘‘ ‘‘‘User.java package mrs.domain.model; import javax.persistence.*; @Entity @Table(name = "usr") public class User { @Id private String userId; private String password; private String firstName; private String lastName; @Enumerated(EnumType.STRING) private RoleName roleName; public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public RoleName getRoleName() { return roleName; } public void setRoleName(RoleName roleName) { this.roleName = roleName; } } ‘‘‘
rubytomato
rubytomato

2020/07/24 06:08

回答に追記しましたのでご確認ください。 これで改善しない場合は、動作する最小構成のプロジェクトをご提示ください。
puccauser
puccauser

2020/07/24 17:00

追記頂いた内容を試したところ改善しました。 問題なく動いたことを確認しました。 回答ありがとうございました。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。