JAVA関連のことを調べてみた2020年06月23日

JAVA関連のことを調べてみた2020年06月23日

【Java】特定の曜日の日を取得する

忘備録として

LocalDateを使うとかんたん。

“`java

// 今日
LocalDate now = LocalDate.now(); // 2020-06-23:火曜日

// 今週の金曜日
LocalDate thisFriday = now.with(DayOfWeek.FRIDAY); // 2020-06-26

// 先週の水曜日
LocalDate lastWednesDay = now.minusWeeks(1).with(DayOfWeek.WEDNESDAY); // 2020-06-17

// 来週の木曜日
LocalDate nextThursDay = now.plusWeeks(1).with(DayOfWeek.THURSDAY); // 2020-07-02

// おまけ LocalDateTimeへ変換
LocalDateTime from = lastWednesDay.atTime(00, 00, 00); // 2020-06-17 00:00:00

“`

### 参考

[日本人のための

元記事を表示

java comparator を使ったソート

– comparator を使うと便利にソートできます.

### コード (昇順ソート)

“`java

import java.util.*;

class Solution {

public static void main(String[] args) {
sort1();
sort2();
}

public static void sort1 () {
List list1 = Arrays.asList(3,2,8,4);
System.out.println(“sort前: “+list1);
Comparator comparator = new Comparator() {
public int compare(Integer int1, Integer int2) {
return (int1.compareTo(int2));

元記事を表示

RestTemplate でレスポンスの JSON とクラスのマッピングに失敗した場合に発生する例外

## 概要

– RestTemplate で HTTP レスポンスの JSON とマッピングするクラスが合わない場合に発生する例外を調査する

## 環境

– Spring Boot 2.3.1 (Spring Framework 5.2.7 + Jackson Databind 2.11.0)
– Java 11 (AdoptOpenJDK 11.0.7+10)
– Gradle 6.5
– macOS 10.15.5 Catalina

## 検証用コード

### ファイル一覧

“`
├── build.gradle
└── src
└── main
└── java
└── com
└── example
├── DemoApplication.java
└── MyResponse.java
“`

### build.gradle

“`groovy
plugins {
id ‘org.springf

元記事を表示

ProgateでJavaについてお勉強メモ1

JavaScriptとはメロンパンとメロン、ハムとハムスターほど違うと有名なあのJavaについてProgateで勉強を始めたいと思います。行くぞージャバジャバ:swimmer_tone2::swimmer_tone2::swimmer_tone2:
#基本編

“`java
System.out.println();
“`

がJSでいうconsole.log的なやつ。コンソールに結果を出力できる。
長い、長いよ。。console.logですら長いと文句言ったのに。「.」が2つもある・・!
(どうせ補完?されて長々と打つことはProgateやってる間だけだろうけども。)

しかも、printlnこれ、**lは小文字の”える”**という衝撃の事実。:scream:
読み方はプリントラインというそうな。。

Javaの構造はクラス部分・メソッド部分・メソッド内の処理の3つに別れている。まだ、ふーんそうなんだ程度でいいらしいが、きっと後ですごい伏線回収があると思っている。:spy_tone2:

##変数
###変数の定義
“`java
//変数の定義
データの型 変数名;
/

元記事を表示

Java初学者が4日でポーカーゲームを作る(2日目)

##モチベーションと目的
Javaについて少し知っておこうと思い昨日(6/21)から勉強を始めました。
6/21にprogateでJavaの基礎的なことは学んだのでアウトプットしようと思います。
作るのは何でもよかったのですが、私が愛してやまない頭脳スポーツ「テキサスホールデム」を作ってみようと思います。

就職に向けてアウトプットソースを増やす目的と、日記的な意味合いで学習の軌跡をここにメモっておくことにしました。

##予定
1日目:progateでJavaについて知る(割愛)
2,3日目:とりあえず実装(できたらいいな)
4日目:オブジェクト指向に倣いコードを整える(予定)

##実装機能(簡単のため相当簡略化)
**プレイヤーは自分自身と相手(CPU)のみのヘッズアップ
CPUはハンドの強さではなく乱数でアクションを決定する
BTNは常に相手側でブラインドは無し
どちらかのチップがなくなったら終了**

実装にあたって、
**デッキの作成
デッキのシャッフル
プレイヤーに手札を配る**
の処理は非常にわかりやすいサイトがありましたのでこちらを~~パクっ~~参考にさせていただきま

元記事を表示

マッスルJavaオブジェクト指向 1日目

#インスタンス
> クラスとは?(復習)
設計書のようなもの
・定義するもの
 ・状態(状況):変数(フィールド)
 ・振る舞い(動作):メソッド

– 設計書(クラス)から作成された実体(インスタンス)
– 複数の生成も可能

インスタンス

##インスタンス(コード生成)
“`
クラス名 インスタンス変数名(自由) = new クラス名(引数)[コンストラクタ指定];
“`
生成したインスタンスを変数に格納
ここで注目すべきは!!
__クラス型(参照型)のインスタンス変数__

> Javaの全変数は静的型付けにより、クラス型の宣言を行った

##コンストラクタ
– インスタンスを生成するときに行う初期化処理をする特別なメソッド
– コンストラクタの特徴
– メソッド名はクラス名と同じ
– 戻

元記事を表示

gradle Could not find tools.jar. エラー対策

## 環境

– windows10
– gradle-6.3
– jre1.8.0_251

## 現状

gradle build

を実行すると

Could not find tools.jar.

として, Build が落ちた.

## 対策

tool.jar を探して手に入れる.

### JDKのダウンロード

JDKの中にtools.jar があるらしいので落とす.

>「Windows 10 i586 Java Development Kit」から

※ 注意
JDK9からはtools.jar は入っていないらしい

### 格納する

C:\Program Files (x86)\Java\jre1.8.0_251\lib

のなかに, tools.jar を移動させる.

tools.jar は

java

元記事を表示

Javaの基本

## はじめに
これは自分メモです

## 出力の仕方

“` kane.java
System.out.println()
“`
()内にリテラルを入力することで出力できる

“` kane.java
System.out.println(“Hello!”)
“`
文字列の場合””(ダブルクォーテーション)で囲む

“` kane.java
System.out.println(“Hello!”);
“`
**しっかりセミコロンをつける**

System.out.println()というのは、()の中身を出力(表示)せよ」という「命令」

## print(), println() の使い方

“` kane.java
System.out.print(“バナナ”);
System.out.println(“バナナ”);
“`

print() は末尾に改行は付きませんが、println() は自動的に末尾に改行を挿入します。

## 終わりに
ほんとはもっと書けることがあったが理解があいまいのでやめました。
次回はコンパイラとインタープリタの違いを自分の言

元記事を表示

マッスルJava基礎 1日目

駆け出し脳筋のプログラム日記
学んだことをまとめる

#Javaの特徴

– C/C++を踏襲した文法体型
– オブジェクト思考言語
– 静的型言語
– 変数、引数、戻り値には必ず型を宣言しなければならない!!

#Java Virtual Machine(JVM/JavaVM)
– Javaのバイナリ形式をそのまま解釈して実行出来る仮想的なマシン
– 各OSでは専用のJavaVMを使うことで共通の実行結果を得る

# クラスとは?!

– 状態・状況や振る舞い・動作をまとめて定義できるプログラムの定義

| 車クラス | 状態・状況 | 振る舞い・動作 |
|:———–|———————–|————|
| car_character3_wagon.pngJava – ラムダ式を利用するSQLの実行 – SQL Runner

### 1. 基本構想

lambda式とFluent APIを適用してSQLを実行したい。同じコード(ボイラープレート/定型コード)を何度も記述するDAOは避けたい。DAOを作成すると、メソッドが一つのSQL専用になり融通がきかない。時間を無駄にするし、バグも発生しやすい。仕様変更に伴う修正箇所も多くなる。

以下を実現したい。1) SQL文を与えて、2) プレースホルダーに値をセット、3) 結果をDTOに変換する。この3つがSQL実行の本質であり余分なコードはいらない。2)、3)はlambda式で実現する。この機能を、SQL Runner と呼ぶことにする。

“` Java
List list =
SelectorRunner<>(“SELECT ID, NAME FROM EMP WHERE ID = ?”)
.bindParams(preparedStatement -> preparedStatement.setInt(1,103))
.mapResult(resultSet -> {
Emp emp = new Emp();
emp.setId(re

元記事を表示

Unityからjar経由でAndroidの機能を呼ぼうとしたらNoClassDefFoundErrorが発生した

そもそもjarを呼ぶところまではここを参照した

呼ばれるjavaメソッド内で端末のセンサー関連機能を呼び出そうとしたところ、
NoClassDefFoundError が発生した
どうやらandroid contextをメソッド内で使おうとするとクラス自体を見失うよう。

android contextをUnityからjavaに送る方法を見つけ、呼び出しに成功した。
https://www.itread01.com/content/1546405986.html

Unity:

AndroidJavaClass androidJavaClass = new AndroidJavaClass(“com.unity3d.player.UnityPlayer”);
AndroidJavaObject activity = androidJavaClass.GetStatic(“curren

元記事を表示

JavaはExcelで円グラフを作成します

円グラフはExcelの一般的なグラフツールです。円グラフは、各コンポーネントの全体の比率をグラフで直接表示できるため、抽象的なデータをより迅速かつ直感的に分析して理解するのに役立ちます。
リングチャートは円グラフの変形です。視覚的には、リングチャートは中央部分を削除しますが、その主な機能は、データ間の比率関係を解釈することです。
この記事では、Free Spire.XLS for Javaを使用して、コードを通じてExcelドキュメントに円グラフとリンググラフを作成する方法を紹介します。

**環境構成:**
**1.** [Free Spire.XLS for Java](https://www.e-iceblue.com/Download/xls-for-java-free.html)パッケージをダウンロードして解凍し、libフォルダーのSpire.Xls.jarパッケージを依存関係としてJavaアプリケーションにインポートします。

**2.** Mavenリポジトリから直接JARパッケージをインストールすることもできますpom.xmlファイルを構成するコードは次のとおりです。

元記事を表示

Java Spring environment in vsCode

# Java Spring environment in vsCode

## Extensions

以下のやついろいろインストールしてくれる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/546056/edd8db45-f0a4-429d-7771-20270a907b7b.png)
SPRINGのもの
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/546056/4eb32096-36a2-fd2b-8ca9-f41f9ccf5b2e.png)
Javaスタイルチェッカー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/546056/5454bda5-038e-2ae1-cae4-6ee5053007af.png)
XMLスタイルチェッカー
![image.png](https://qii

元記事を表示

eclipse Javaソースコード入力する際、自動補完トリガーの有効化設定(auto activation triggers)

##eclipseの自動トリガー補完
eclipseを使用するメリットの一つは、Javaソースコード入力する際に、自動補完トリガー機能です。しかし、普段の操作で、「.」を入力した後に効きますが、それより、もっと活用させたい時の設定方法がありますでしょうか。
![01.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/609143/46a2270f-cb97-09c9-28a1-da8d23d28bc1.png)
##設定手順
eclipse > ウインドウ(W) > 設定(P)
![02.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/609143/fe02b426-1bfc-22b0-a4da-4831e74ae068.png)

Java > エディター > コンテンツ・アシスト > 自動有効化 から設定する
![03.PNG](https://qiita-image-store.s3.ap-northeast-1.ama

元記事を表示

Heapdump/Javacore 解析

## Memory Analyzer
https://www.eclipse.org/mat/

## IBM Heap Analyzer
https://www.ibm.com/support/pages/ibm-heapanalyzer

## IBM Thread and Monitor Dump Analyzer for Java (TMDA)
https://www.ibm.com/support/pages/ibm-thread-and-monitor-dump-analyzer-java-tmda

## IBM Pattern Modeling and Analysis Tool for Java Garbage Collector (PMAT)
https://www.ibm.com/support/pages/ibm-pattern-modeling-and-analysis-tool-java-garbage-collector-pmat

## 参考
[Java開発の性能改善! その3 ヒープダンプを取ろう](https://qiita.com/i_matsu

元記事を表示

(小ネタ)今更言うほどでもない数値→アルファベットの簡単な変換方法(Java)

# TL;DR
数値をcharにキャストすることで、簡単にアルファベットに変換できる

# 実践
### 具体的なコード1
“`java:Main.java
public class Main {
public static void main(String[] args) throws Exception {
for (int i = 0; i < 26; i++) { System.out.print((char) (97 + i) + " "); } } } ``` ### 具体的なコード2 ```java:Main.java public class Main { public static void main(String[] args) throws Exception { for (int i = 0; i < 26; i++) { // こんな書き方もできる ** System.out.print((char) ('a' +

元記事を表示

springbootでのアプリ作成につきまして

今、以下の機能を有するアプリの作成しています。
 ・データの入力、登録
 ・登録データの一覧表示
 ・登録データの削除
 ・登録データの曖昧検索

上記のうち、曖昧検索だけがいまだにエラーなどでできていない状態になっています。

どこをどのように修正すれば、エラーが解消し、検索機能が動くようになるかご教示頂けますでしょうか。
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
データベース
 sp→観光地を入れる変数(String型)

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

コード
//MyDataRepository.java

package com.example.demo;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;

import org.springframework.stereotype.Repository;

@Repository

pu

元記事を表示

IntelliJでJava SpringBootのプロジェクトを作成

# はじめに

IntelliJ IDEAでSpringBootのプロジェクトを作成する手順を整理します。
今回はJava、Gradleを利用します。

# 手順

## プロジェクト作成

IntelliJを起動して**Create New Project**をクリックします。

![スクリーンショット 2020-06-19 0.06.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/e9d922b9-262d-b86b-f40b-cae75571f479.png)

Gradle、Javaを選択して**Next**をクリックします。

![スクリーンショット 2020-06-19 0.13.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/e5e234f5-e245-2bbc-1543-e998ce4f0ddf.png)

SprintBootTestとしてプロジェクトを作成します。

!

元記事を表示

Spring Initializr を使って爆速でHello World!!!

#目的

JavaのフレームワークであるSpringBootを用いて、
`Hello World`をとりあえず出力させたい!という方のためへ残しておきます。

#Spring Initializrってなに?

ブラウザ上で、ビルドツールや開発言語を選択して、雛形となるアプリケーションを簡単に生成することが出来るもの。
(Ruby on Railsでいう所のscaffold(スキャフォールド)みたいなものと認識しています。)

#実践編

##今回扱う各種バージョン

OS:macOS Mojave バージョン10.14.6
テキストエディタ:Visual Studio Code(以下VSCode)

“`
$ java -version
openjdk version “11.0.2” 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
“`

“`
$ mvn -version
Apache

元記事を表示

staticについて

クラスファイルはロード後、staticな部分とそれ以外に分離され、それぞれ異なるメモリ領域に保存されます。
static.png

staticで修飾されたメンバはstatic領域に配置され、それ以外の定義はピープ領域に配置されます。

– インスタンスが生成される時には、**ピープ領域にあるクラス定義に従ってインスタンスが生成される**
– **staticなフィールドはインスタンスを作らなくても使える**
– staticなフィールドにアクセスするには「class名.フィールド名」と記述する。もしくはインスタンスを生成してその参照を使ってアクセスする。
– staticなメンバはインスタンスがなくても使えるのに対し、staticではないメンバはインスタンスがないと使えない。よって、**staticなメソッドから

元記事を表示

OTHERカテゴリの最新記事