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

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

javaのstreamとかラムダ式とかFunctionとか配列とかListやMapとかをこれから実践していくつもりです

# -1.お断り
勉強中の身ながら執筆しております。
下書きが10個たまってしまってこれ以上下書きが増やせないので、全然内容がないけどもう公開しちゃいます。
ここに乗っているのが最適とは限りません。
コメント等いただければ嬉しい限りです。

また、各メソッドについて、所属するクラス名は`Test`とします。
また、`import java.util.Arrays;`, `import java.util.Stream;`をしてください。

# 0. List⇔配列

## 0-1. List\ → Hoge[]
“`java
static class Hoge{String s;Hoge(String s_){s=s_;}String f(){return s;}}

static Test.Hoge[] hoge_list_to_array(List hoge_list)
{
//return (Hoge[]) hoge_list.toArray(); ←ダメな例
return hoge_list.toArray(Test.Hoge[

元記事を表示

Minecraft modding 1.12.2で参考になるサイトまとめ

#導入
intelij IDEAのプラグインを利用してコマンドを一切打たずに簡単に導入する方法
https://qiita.com/Hiroya_W/items/7ad9bad0387ef3688d1e
ブロックの追加からTileEntitySpecialRenderまで、幅広く学べるサイト
https://shadowfacts.net/tutorials/forge-modding-112/
サイトのコード
https://github.com/shadowfacts/TutorialMod
1.12.2では、setUnlocalizedNameをsetTranslationKeyにする、などの変更が必要です、またCreativeTabの追加はエラーが多いので、削除して、他のサイトをもとに作成するのがいいかもしれません。面倒な変更はありますが、非常におすすめのサイトなのでぜひチェックしてみてください。

元記事を表示

初心者から始めるJava、継承

追記2020/3/16
クラス名のつけ方で間違いがあったことを、コメントで指摘いただいたので訂正。

#はじめに
この記事は備忘録である。
参考書レベルの内容だが、本記事に掲載するコードについては、
~~**間違えた**ものが中心となる。これは実際にコーディング中に間違えた部分を掲載し、自分で反省するために投稿するという目的によるもの。~~
また、後日にJavaSilver試験問題の勉強を兼ねて復習するため、深い部分の話はここでは触れない。

##環境
言語:Java11、JDK13.0.2
動作環境:Windows10

#クラスの拡張
今まで書いてきたクラスはどれも独立して書かれたものだったが、毎回メンバ(フィールドとメソッド)を設定する必要があった。`Cat`クラス程度ならば頑張れば作れるだろうが、膨大なメンバ(フィールドとメソッド)を持つクラスを毎回すべて書くのは現実的ではない。
Javaは、既存のクラスが持っているメンバをそのまま引き継ぎつつ、独自のクラスを作るための**クラスの拡張(extend)**機能がある。

“`Java:extendedHousecat
clas

元記事を表示

EclipseのCheckStyleでCheckstyle execution failed due to an internal error.となった時の取あえずの対応方法

※. このページには、根本的な解決方法は書いていません。解決方法のわかる方は教えてください。

EclipseのProblemビューにエラーが出た。
何年も続いているプロジェクトをインポートするとちょくちょく出る。

|Discription|…省略…|型|
|:-:|:-:|:-:|
|Checkstyle execution failed due to an internal error. Please check the error log for details||Checkstyle 問題|

[Javaのソースで見つけた CHECKSTYLE:OFF って何?から知るCheckstyle](https://qiita.com/ponsuke0531/items/effcdbf890f850030ba3)なんてQiitaに投稿しちゃうぐらいCheckStyleがわかっていない。
このエラーが出ていても動く・・・がプロジェクトに赤×印が出ているのは嫌。

このエラーが出たら取あえず`{ワークスペースのディレクトリ}/.metadata/.log`を見てみます。

# 事

元記事を表示

【アルゴリズム入門】Javaで挿入ソートを実装する

スケベな物の見過ぎだと思いますが挿入という文字列を見るだけでよからぬ気持ちになりますね。

挿入ソートは基本のソートアルゴリズムの一つで、配列を整列済みの部分と未整列の部分に分けてソートを行うものです。

##*ソースコード*

“`InsertSort.java

clas InsertSort {
public static void main(String[] args) {
int[] data = {30, 60, 70, 90, 20};
sort(data);
for(int element : data) {
System.out.println(element);
}
}

public static void sort(int[] data) {
for(int i = 1; i < data.length; i ++) { int temp = data[i]; int j = i; while(i > 0 && temp < data[j - 1]) {

元記事を表示

Visual Studio CodeによるSpring5 MVC Webアプリ開発 SQLServer接続編

#はじめに
[HelloWorld作成編](https://qiita.com/t_skri/items/24d0d353771735b453f7)で作成したプロジェクトを拡張していきます。
SQLServerは[こちら](https://qiita.com/t_skri/items/8d69c423042e310434d0)で作成したDB、テーブルを流用します。

#環境
OS:Windows 10 Pro 64bit
Editor:Visual Studio Code 1.42.1
JDK:AdoptOpenJDK 11.0.6+10 x64
Apache Maven:v3.6.3
Apache Tomcat:v9.0.31

#プロジェクト作成
HelloWorldで作成したプロジェクトを「D:\JAVA\Project\sqlSample」にコピーして作成しました。

#pom.xml
SQLServerにアクセスする為に必要なRepositoryを追加する。

“`

org.springframework

元記事を表示

【Java】初めてのJava体験(基礎・コード)

# 最初に
自身で学習してきた内容を書き出していきます。
基本的には自分自身でわかるような内容になりますので、ご容赦ください。
また、誤っている点がありましたら、コメントにてご指摘ください。

(要確認)マークがあるものは、「実行前に必ずググる」べき内容。

# ⚠️今回はアウトプットを含む、インプット寄りの投稿です⚠️
今回は、外部サイト「[Progate](https://prog-8.com/)」にて学習した内容を吐き出します。

# index
– Javaってなんぞ
– 試しにコードを書いてみた
– データ型
– 変数

# Javaってなんぞ
世界中にたくさんの開発者がいる有名な言語のなかの一つ!
大規模システム、Webアプリケーション、スマートフォンアプリなど、Javaはあなたの周りの様々な場所で使われている。

そして・・・

**⚠️JavaとJavaScriptは全くの無関係である⚠️**

# 試しにコードを書いてみた
## 文字列
### やりたいこと:「文字列」を、コンソールに出力させたい。

“`java:Main.java
class M

元記事を表示

JdbcTemplateで@OneToMany的な振る舞いをさせる

## TL;DR
ORMにを頼らずNamedParameterJdbcTemplateとRowMapperを組み合わせて結果を取得するシステムでOneToManyなデータの持ち方を実現したい場合はResultSetExtractorを実装したクラスを作ればいいが、構造が複雑になりがちなので新しいシステムを作る時は素直にJPA等に頼ったほうが良い

## 問題点
Spring JDBCには `NamedParameterJdbcTemplate`等のクラスをDIすることで気軽にクエリを発行できる仕組みがある。

“`java

@Repository
public class HogeRepository {

@Resource
private NamedParameterJdbcTemplate namedParameterJdbcTemplate;

@Override
public HogeWithPiyo findAll() {
return namedParameterJdbcTemplate.query(“SELEC

元記事を表示

オブジェクト指向プログラミング(素人が浅い知識でまとめさせていただきました)

#クラスとインスタンス(オブジェクト指向)
クラスはくくり、インスタンスはくくりのルールで定義された物。
イメージは車というクラスからプリウスというインスタンスを生み出すって感じ。

#####クラス内でやる事
インスタンスが持っておくべき変数や関数を定義する。
またインスタンス作成時にどのように初期設定をするか書かれる。
→コンストラクタ関数を定義し、引数をもらって初期値を作れるようにする。
→インスタンス作成時に引数として値を渡して、各インスタンスに変数の初期値を入れる。

“`Java
class Person {

private Stirng name; //ここではインスタンスに必要な変数が用意されている。

Person(String name, …) { ////()内に必要な引数を入れられる。インスタンス作成のための初期設定がいろいろ書かれる…
}

public void detailData() { //ここでインスタンスに必要な関数が書かれる
}
}
“`

#####補足
・クラス内で書かれているthisは、作られたこのインスタンス自身

元記事を表示

【初心者向け】今度こそわかるDI〜DIの基礎とSpringにおけるDI〜

## はじめに
DIとはDependency Injectionの略であり、日本語では「依存性の注入」と訳されることが多いです。

新卒だったころにSpringに触れた私は、初めてこの概念を聞いた時に頭に浮かんだのは、はてなマークでした。DIの概念やDIコンテナ、Springにおけるアノテーションとの結びつきがピンとこなかったのです。

今回は初心者だったころの自分にあてて、DIの概念およびSpringにおけるDIについて自分なりに整理しつつ、簡単にまとめていきたいと思います。

##依存性(Dependency)とは
依存(性)とは何かということはソースコードで示したほうがわかりやすいと思います。

“`java:Main.java
public class Main {
public int hoge() {
var sub = new Sub();
return sub.calculate();
}
}
“`

Mainクラスのhogeメソッド内で、Subクラスのインスタンスを生成し、利用しています。
このようなMainクラスが

元記事を表示

デプロイ失敗

エラー内容

[INFO] ————————————————————————
[INFO] BUILD FAILURE
[INFO] ————————————————————————
[INFO] Total time: 2.360 s
[INFO] Finished at: 2020-03-15T14:42:24Z
[INFO] ————————————————————————
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on

元記事を表示

twitter4j使用ソースをデプロイしたら失敗した

■twitter4jをデプロイしたら失敗した

■エラー

[INFO] ————————————————————-
[ERROR] COMPILATION ERROR :
[INFO] ————————————————————-
[ERROR] /tmp/build_a4ed9f5ff44d78cc39ef296374348ae6/src/main/java/dev/GetTweetTest.java:[9,17] package twitter4j does not exist
[ERROR] /tmp/build_a4ed9f5ff44d78cc39ef296374348ae6/src/main/java/dev/GetTweetTest.java:[10,17] package twitter4j does not exist
[ER

元記事を表示

[開発]Javaフレームワーク比較

個人メモ

# 【Javaフレームワーク】
| No | フレームワーク | 開発 | 公開年 | バージョン(確認日時) | 概要 |
|—-|—————————————————————–|—————-|——–|———————-|———————————————————————|
| 1 | [Play Framework](https://www.playframework.com/) | Guillaume Bort | |

元記事を表示

Spring SecurityでDB認証&BCryptでハッシュ化

# 概要
* Spring Securityで必要最低限のログイン機能を実装する。(権限周りは触れません。)
* ログインフォームなどはSpring Securityで用意されているものを使う。
* 仕組みはあまり理解できていないので、また別でまとめます。
* この投稿はとりあえず、動くようになったというところまで!

# 開発環境
* OS:Windows10
* IDE:eclipse 2019-12
* Java:13
* Spring boot:2.2.5(Gradle)
* DB:Oracle 12c

# Spring Securityの導入
## 依存関係で下記の4つを選択
* Spring Security
* Spring Web
* Spring Data JPA
* Oracle Driver ←使用するDBのDriverを選択してください
![2020-03-15-14-06-34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/364697/5974c5b7-

元記事を表示

Summary of information about OpenJDK and JDK Distributions #minjava

# Introduction
*The original contents is written in Japanese [“OpenJDKと各種JDKディストリビューションの情報源まとめ #minjava”](https://qiita.com/yamadamn/items/2dd26a014791b9557199). If the translation is strange, please send edit requests to this article. Linked contents may be in Japanese.*

—-

This article is part of the Mar 13th, 2020 publication [“Everyone’s Java” (‘Minna-no-Java/a.k.a minjava’ in Japanese)](https://gihyo.jp/book/2020/978-4-297-11199-1) tie-up campaign. 😀

初心者から始めるJava、インスタンス

#はじめに
この記事は備忘録である。
参考書レベルの内容だが、本記事に掲載するコードについては、
~~**間違えた**ものが中心となる。これは実際にコーディング中に間違えた部分を掲載し、自分で反省するために投稿するという目的によるもの。~~
また、後日にJavaSilver試験問題の勉強を兼ねて復習するため、深い部分の話はここでは触れない。

##環境
言語:Java11、JDK13.0.2
動作環境:Windows10

#インスタンス
以前、オブジェクトとインスタンスを混同して話していたように記憶しているが、改めて触れてみたい。
まずはいつもの通り`Cat`クラスを用意する。

“`Java:Cat.java
class Cat
{
public static int sumCats = 0;

private int age;
private double weight;

public Cat()
{
age = 0;
weight = 0.0;
sumCats++;
System.out.println(“新しい猫ちゃんが

元記事を表示

[Scala]コンストラクター

オーグジリアリコンストラクター (this(), or .this) について公式リファレンス内をうろうろしていたのですが、見つからなかった代わりに二次情報としてコンストラクターの記事があったので、内容はおおよそ文献の翻訳です。

コンストラクターは、オブジェクトの状態を初期化する為に使用します。メソッド同様、ひとつのコンストラクターはオブジェクト作成時に実行される命令の集合も含んでいます。

Scala には二種類のコンストラクターがサポートされています。

1. プライマリーコンストラクター
2. オーグジリアリコンストラクター

プログラムに含まれるコンストラクターが一つしかない時、それをプライマリーコンストラクターと呼びます。プライマリーコンストラクターとクラスは同じ本体を共有する為、プログラマがコンストラクターの作成を明示的に宣言する必要はありません。

“`scala
class Hello(name) {
// Statements
}
“`

– 上記の構文において、プライマリーコンストラクターはクラスと同じ本体を共有します。メソッドの宣言を除き、クラスの本体

元記事を表示

メソッドを呼び出して数をカウントしたいです

#コンソールに出力したい結果は以下です
ブラックジャックへようこそ!
貴方の1枚目のカードはハートのQ
ディーラーの1枚目のカードはダイヤのA
貴方の2枚目のカードはハートのA
ディーラーの2枚めのカードは秘密だよ
あなたの現在のポイントは11です
カードを引きますか? Yes:y or No:n

ーーーーーーーーーーーーーーーーーーーーーーーー
プレイヤーの何枚目、という部分をメソッドを使い1、2、3・・・としたいです。

##現状は以下です
ブラックジャックへようこそ!
貴方の0枚目のカードはハートのQ
ディーラーの1枚目のカードはダイヤのA
貴方の0枚目のカードはハートのA
ディーラーの2枚めのカードは秘密だよ
あなたの現在のポイントは11です
カードを引きますか? Yes:y or No:n
##ソースコードを載せます
“`
package blackjack;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class MainGame {

pu

元記事を表示

C言語のリンクリストをオブジェクト指向風に書いてみる(PythonとJavaとのコード比較あり)

## はじめに

最近、「C言語でリンクリストを書いてみた」という投稿を2件みかけました。
いずれも、C言語らしい書き方をしておられましたので、オブジェクト指向風な書き方をコメントさせていただきました。

* [リンクリストの練習 その1 – Qiita](https://qiita.com/Kippie/items/b8a0c092b8e9c591b473)
* [C言語 再帰処理とリンクリスト構造を使った数字のリスト – Qiita](https://qiita.com/Kchan_01/items/359a63b796ea90df26ff)

オブジェクト指向風な書き方をすることで、オブジェクト指向の理解の助けになればと思い、本記事を書くことにしました。
難しいオブジェクト指向の考え方は抜きにして、構造体の拡張版=ユーザ定義型としてクラスを使います。

## リンクリスト

リンクリストについては、他の記事やサイトをご覧ください。
参考: https://ja.wikipedia.org/wiki/連結リスト

まず、リンクリストに使う構造体を2種類用意します。

* `stru

元記事を表示

OTHERカテゴリの最新記事