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

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

文字の重複カウント(substring)

“`java

import java.util.*;

//文章strのなかで指定文字targetの重複する回数をカウントする
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList list = new ArrayList();

//重複数の合計
int count = 0;

String target = sc.nextLine();
String str = sc.nextLine();

//文を一文字ずつlistに詰める。
for(int i = 1; i < str.length() + 1; i++){ list.add(str.substring(i - 1, i));

元記事を表示

Minecraft Forge 1.15.2でのcoremodの書き方

Minecraft Forge 1.15.2環境でのcoremodの書き方を簡単に解説します。
ASMって何? とかバイトコード何? という説明はここではしません。すいません。
あとJavascriptについても説明しません。すいません。

ただ、coremodを使うレベルのmodderの方々なら、フィーリングで書けると思います。

Forgeの1.13以降ならたぶん同じ書き方で動くと思いますが検証はしていません。

このページとサンプルコードを非常に参考にさせていただきました。先達に深く感謝します。
[99.99 – Coremod](https://cadiboo.github.io/tutorials/1.14.4/forge/99.99-coremod/)

# coremodって? ASMって?
それでも一応簡単に。”coremod”というのは、Forgeが用意している仕組みのひとつで、これを使うとMinecraftのJavaコードそのものを書き換えることができます(多少表現に語弊があります)。
そのために使うライブラリがASMです。また、コードそのものと言っても、普段書いて

元記事を表示

【じゃんけん(っぽい)ゲームで入門】Java

# 1. はじめに

自作した じゃんけん(っぽい)ゲーム を題材にして **Java** の文法や仕様を確認していきます。

## 1-1. ゲームの仕様

ルールは一般的なじゃんけんのルールに準じます。ただし、プレイヤーとCOMには5点の体力が用意されており、じゃんけんに勝利すると相手に1点のダメージを与えることができます。先に相手の体力を0点以下に減らしたほうの勝利となります。引き分けは発生せず、プレイヤーかCOMのどちらかが勝利するまで処理を続行します。

処理内容はコンソールに表示し、コンソールに表示された内容はログファイルにも吐き出すようにします。

## 1-2. Javaとは?

Javaは、かつて存在していた米国のIT企業 **Sun Microsystems(現・Oracle America)** によって開発された言語です。1996年1月にJDK 1.0が発表されて以来、継続的にバージョンアップを重ねており、2020年3月に発表されたJava SE 14が最新版となります。

言語の出自を辿ると、元々はC++をベースにした家電製品向け組み込み言語と

元記事を表示

【覚えておくと便利!!!】LocalDate型 から 文字列 、 文字列 から LocalDate型 に変換する方法

## 1.事前知識
– [【最新】UbuntuでJavaの環境を構築する方法](https://qiita.com/ryome/items/37c53e9638a9c6ea146a)

– [【初心者でもできる‼】Windows10にJava環境を作る方法(JDK14.0.1)](https://qiita.com/ryome/items/30135570954e36196821)

– [【わかりやすく解説‼】Javaのインスタンスの使い方](https://qiita.com/ryome/items/62ba0d8395af6698053a)

– [【初心者でもできる‼】Windows10にEclipseをインストールする方法(Java環境構築)](https://qiita.com/ryome/items/b47c5acdaa52cffbec58)

事前知識として、上記リンクの内容が必要です。

## 2.LocalDate型 から 文字列 、 文字列 から LocalDate型 に変換する方法

![01.png](https://qiita-image-store.s

元記事を表示

Eclipse 2020を使っていたらビルドエラーが止まらなくなった話

先日JavaのSpringチーム開発を行っていたところ私を含むチームメンバーの2人に同じエラーが発生しほとんど操作不能になりました。
根本的な原因は分かりませんが結論からいうと最新版のeclipseだけに発生する現象だったようです。

###環境
– IDE
– Eclipse 2020-6
– SpringToolSuite4(Eclipse4.16)
– Java
– 11
– フレームワーク
– Spring Boot
– OS
– Windows / Mac共に発生

###現象
スコープ外のオブジェクトへの参照やstaticメンバの参照エラーなどのコンパイルエラーが発生する状況で自動ビルドが行われると以下のようにビルドエラーが繰り返されてしまう。
Eclipseの再起動もしくはプロジェクトのプロパティ→builderからJava builderを外す[^1]まで止まらない。
[^1]: これをするとIDEがただのメモ帳と化す。
スクリーンショット 2020-07-07 17.13.52</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>Java</div>
<div class='tag-cloud-link'>Eclipse</div>
<div class='tag-cloud-link'>spring-boot</div>
<div class='tag-cloud-link'>JavaBuilder</div>
<div class='tag-cloud-link'>NullPointerException</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/maruLiaoningShifanDaxue/items/dcadcd698b0f66f2d056'>元記事を表示</a></div>
<h3 id=Apache JMeterをインストールする

# 最終更新日

2020年7月8日

検証を行ったOS/JDKのバージョンは下記です。

– macOS Catalina 10.15.5
– 未検証ですが、Windowsでも手順は同様のはずです
– AdoptOpenJDK 11.0.7
– インストール方法は別記事で紹介しています([Windowsの場合](https://www.youtube.com/watch?v=tWU0oUjosBo)・[macOSの場合](https://qiita.com/suke_masa/items/f9af0fb84ad9447ae961))

インストールするもののバージョンは下記です。

– Apache JMeter 5.3

> この記事が古くなった場合、下記の手順は最新のインストール手順とは異なっている可能性があります。その場合は[公式ドキュメント](http://jmeter.apache.org/download_jmeter.cgi)をご確認ください。

# JMeterのインストール
(1) http://jmeter.apache.org/download_

元記事を表示

Zipkinのダウンロードと起動

# 最終更新日

2020年7月8日

検証を行ったOS/JDKのバージョンは下記です。

– macOS Catalina 10.15.5
– 未検証ですが、Windowsでも手順は同様のはずです
– AdoptOpenJDK 11.0.7
– インストール方法は別記事で紹介しています([Windowsの場合](https://www.youtube.com/watch?v=tWU0oUjosBo)・[macOSの場合](https://qiita.com/suke_masa/items/f9af0fb84ad9447ae961))

インストールするもののバージョンは下記です。

– Zipkin 2.12.9

> この記事が古くなった場合、下記の手順は最新のインストール手順とは異なっている可能性があります。その場合は[公式ドキュメント](https://zipkin.io/pages/quickstart.html)をご確認ください。

# Zipkinのインストールと起動
(1) ブラウザで https://search.maven.org/remote_c

元記事を表示

substringで指定範囲だけ大文字にする。(substringの使い方)

“`java
/*
substringは文字を抜き出す。
引数には文字のインデックスが入る。
※インデックスは0から
*/

/*
引数が二つの場合
例:
String str = “012345”;
substring(開始位置, 終了位置);
substring(0, 3)
抜き出される文字は[012]
※終了位置は3であるが抜き出される文字には含まれない。

引数が1つの場合は開始位置とする。
例:
String str = “012345”;
substring(開始位置);
substring(3);
抜き出される文字は[345]
*/

/*
※空白はインデックスに含まれる
String str = “0 12345”;(半角の空白)
substring(開始位置);
substring(3);
抜き出される文字は[2345]になる
*/

import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner

元記事を表示

【SpringBoot入門】thymeleafを使ってフォーム送信

#目的

[Spring Quickstart Guide](https://spring.io/quickstart)を取り組み終えた方、SpringBootを学び始めた方、復習をしたい方に向けて、

公式ガイド[Handling Form Submission](https://spring.io/guides/gs/handling-form-submission/)を実際に取り組み学んだことを共有します。

完成形はこちらになります。

Form画面で入力された値をResult画面で表示させるという処理を実装していきます。

![スクリーンショット 2020-07-08 13.44.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/555244/4f501b36-035e-2014-29fa-ba078394de6f.png)

![スクリーンショット 2020-07-08 13.44.30.png](https://qiita-image-store.s3.ap-northeast-1.am

元記事を表示

nextIntとnextLineとsubstringを使うとエラーになった。

“`java
import java.util.Scanner;

/*
原因はnextInt
nextIntで123と入力すると
Java側では123\nに変換され(末尾に\nが入る。)
nextIntは123だけを返す
次にnextLineを入力すると先ほどの残った\nが読み込まれ
エラーが発生する。

解決法は
変数への代入を伴わないnextLineを記述する。(以下のソースのscanner.nextLine())
これをすることで\nが消去され次にnextLineが正常に動く

※nextIntは\nを消す機能がないためnextLineを入れる必要がある。
※バックスラッシュとnで改行を表す。

*/
public class Hello {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

int a = 0;
int b = 0;
String str = “”;

a =

元記事を表示

Javaのエントリーポイントについて

##エントリーポイントとは
プログラムの実行を開始する場所のことで、**一番最初に呼ばれるメソッド**になります。メソッドは、メソッドからメソッドを呼び、さらにその次のメソッドを呼ぶ、という流れで実行されていきます。その中で一番最初に呼ばれるメソッドをエントリーポイント(**開始点**)と言います。
Javaではmainメソッドがプログラム全体のエントリーポイントに設定されます(C、C++、Objective-C等の多言語でもmainメソッドがエントリーポイントとして使われます)。
なのでJavaでの **エントリーポイント = mainメソッド**と覚えておけば良さそうです。
プログラム全体のエントリーポイントとなる場所を含むルーチンをメインルーチンといい、mainメソッドを含むクラスがメインルーチンということになります。

##mainメソッドの5つの条件
Javaではmainメソッドで使う修飾子や名前、引数などのルールが厳密に決められています。

**1.アクセス修飾子はpublic
2.staticメソッド
3.メソッドの戻り値はvoid
4.メソッド名はmain(小文字)
5

元記事を表示

ArrayListを使ったバブルソート(JAVA)

“`java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//ArrayListのlistを宣言
ArrayList list = new ArrayList();
//countは繰り返し回数
int count = 0;
count = scanner.nextInt();

//listに入力値を格納
for (int i = 0; i < count; i++) { list.add(scanner.nextInt()); } //ArrayListのバブルソート for (int i = 0; i < list.s

元記事を表示

Java リテラルについて

##リテラルとは
値の表記のことをリテラルといいます。変更されないことを前提とした値で、数値や文字列を直接記述した定数のことです。
リテラル(literal)とは英語で、「もじどおりの、言葉本来の意味通りの」といった意味を持ちます。

リテラルは全部で6種類あります。

###文字リテラル
値をシングルクォート(’)で囲んだもの。値が1文字の時に使用します。一般的には文字列リテラルを使用することが多く、文字リテラルはあまり使用しません。
ただし、特殊記号を使う時にはこの文字リテラルを使います。

###文字列リテラル
値をダブルクォート(“)で囲んだもの。値が1文字でも使用できます。

###整数リテラル
小数点のない値を指します。
2,8,10,16進数の表現ができます。

###浮動小数点リテラル
小数点を持つ値を指します。10進数と指数を表現できます。

###論理値リテラル
論理値の値を指します。

真=true
偽=false

###nullリテラル
参照型のデータを参照する時に、何も参照してないということを指します。

##例
以下の例では、int型の変数nに数値の6

元記事を表示

SeleniumでMacのEdge(Chromium版)を動かす

## はじめに

2020/06 ついにChromium版のEdgeがWindowsアップデートでできるようになりましたね。
最近、E2E自動テストにおいて、IEを含める依頼はめっきり減ってきました。
一日でも早く
**「自動テストをやりたい(E2Eね)」 → 「InternetExplorerで 」**
という流れが世の中からなくなれば良いと思っています。
代わり増えてきたのが、**Edge**です。

ではChromium版のEdgeをMacOSで動かします

## 開発環境とか
#### OS

“`
% sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.5
BuildVersion: 19F101
“`

#### java
“`
% java -version
openjdk version “11.0.7” 2020-04-14 LTS
OpenJDK Runtime Environment Corretto-11.0.7.10.1 (build 11.0.7+10-LTS)
OpenJDK 64-Bit Se

元記事を表示

[Processing×Java] クラスの使いかた

この記事はプログラムの構造をProcessingを通じて理解していくための記事です。
今回はクラスについて書いていきます。

目次
0.クラスとは
1.あらかじめ用意されているクラス
2.自分で定義してつくるクラス

#0.クラスとは

##0-0. **クラスとは**

関連するフィールド(変数)とメソッド(関数)が入ったテンプレート(型)のことです。
よくレシピや設計図などに例えられます。

##0-1. **なぜクラスを使うのか**
主な理由は、
①**プログラムが読みやすくなるから。**
②**再利用できるようになるから。**
(再利用については後ほど詳しく)

##0-2. **クラスの種類**

クラスには、”**あらかじめ用意されているクラス**”と、”**自分で定義してつくるクラス**”があります。

あらかじめ用意されているクラスは、具体的には、String,PImage,PFont,PShape,PVector…などです。

#1.**あらかじめ用意されているクラス**
Processingでは、**たくさんのクラスがあらかじめ用意されて

元記事を表示

CICS-Javaアプリケーションを動かす – (4)Spring Bootアプリ

#はじめに
CICS TS for z/OSでは、Libertyの稼働がサポートされているので、CICS上でJavaEEアプリケーションを動かすことができます。
CICS TS V5.3からSpring Bootをサポートするようになったため、Spring BootのアプリケーションもCICS上で(CICS上のLibertyで)稼働できるようになりました。CICS上で動くということは、CICSの機能を使用するJCICSが使えるということなので、既存のCICSプログラムを呼び出すWebアプリ、CICS管理のVSAMやTSQをアクセスするWebアプリ、といったものがCICSだけで動く、さらにそれをSpring Bootフレームワークを使って開発できる、ということになります。

この記事では、以下GitHubに提供されているCICS-SpringBootアプリのサンプルを動かしてみます。
[cics-java-liberty-springboot-jcics](https://github.com/cicsdev/cics-java-liberty-springboot-jcics)

ビル

元記事を表示

例外処理について

##例外とは
例外は、プログラム上で想定外の動作が行われ、処理が続行できなくなったことを通知するためのオブジェクトです。
例外を使えば、コードの正常処理と以上処理をある程度分離できるため、コードが読みやすくなります。

##エラーと例外の違い
Java実行中のトラブルは,エラーと例外の2種類に分けられます。

**エラー**
実行環境のトラブル等、プログラムから対処不可能な事態。
プログラムが続行できなくなり、強制終了してしまいます。

**例外**
プログラムから対処可能な事態。
エラーとは違い、動作を終わらせることなくプログラムを続行できます。

##チェック(検査)例外
メソッドを記述する際、例外処理も書かないと怒られるのがチェック例外で、チェック例外は基本的に、正しいプログラムを書いていても避けられない例外です。例えば、参照したいファイルが壊れているとか、DB障害等がこれにあたります。
チェック例外はコンパイラがチェックする例外処理で、Exeptionやそのサブクラス等が対象です。

##非チェック(検査)例外
例外処理を記述したかをコンパイラがチェックしない例外で

元記事を表示

SpringBoot入門ガイドやってみた【Accessing Data with JPA編】

#目的

[Spring Quickstart Guide](https://spring.io/quickstart)を取り組み終えた方、SpringBootを学び始めた方、復習をしたい方に向けて、

公式が人気ガイドだからやってみて!と勧めてくれている、[Accessing Data with JPA](https://spring.io/guides/gs/accessing-data-jpa/)を実際に取り組み学んだことを共有します。

“`text:開発環境
OS: macOS Mojave バージョン10.14.6
テキストエディタ: Visual Studio Code(以下VSCode)
Java: 11.0.2
“`

[QuickstartGuideのおさらいはこちらから](https://qiita.com/morioheisei/items/59384f015e9e3801c4a7)
[Building a RESTful Web Service編のおさらいはこちらから](https://qiita.com/morioheisei/items/03106a

元記事を表示

TDD勉強#1環境構築した&はじめてのテスト駆動開発(July 6th, 2020)

javaの環境構築をした.
#動作環境
– visual studio code
– windows10

#vscodeのjava環境構築
下のサイトみた
https://qiita.com/takuma-jpn/items/b49785a314fb4db85775

#早速Hello World!に苦戦
javaで `Hello World!`を表示するプログラム↓

“`java:Test.java

public class Test {
public static void main(String[] args) {
System.out.println(“Hello.World!”);
}
}
“`
どうもファイル名とクラス名を一致させる必要があるらしい.沼だった.
あとは,`launch.json`をつくる.フォルダを選択してプロジェクト化する(?)

#maven使ってTDD動いた
下のサイトみた.
https://engineeringnote.hateblo.jp/entry/java/junit_with_maven_in

元記事を表示

[Processing×Java] 関数の使いかた

この記事はプログラムの構造をProcessingを通じて理解していくための記事です。
今回は関数について書いていきます。

![ezgif.com-gif-maker (4).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654004/9272afe7-9bbb-4ecb-2729-ea57e79af012.gif)

目次
0.関数の使いかた
1.あらかじめ用意されている関数
2.自分で定義してつくる関数
3.関数のモジュール化→再利用化の例

#0.関数とは

##0-0. **関数とは**

関数は、出力装置のようなものです。
何かを受け取って、それを変換して出力します。

##0-1. **なぜ関数を使うのか**
主な理由は、
①**プログラムが読みやすくなるから。**
②**再利用できるようになるから。**
(再利用については後ほど詳しく)

##0-2. **関数の種類**

関数には、”**あらかじめ用意されている関数**”と、”**自分で定義してつくる関数**”があります。

元記事を表示

OTHERカテゴリの最新記事