JAVA関連のことを調べてみた2021年05月13日

JAVA関連のことを調べてみた2021年05月13日

How to Update Android Apps

I’ll explain how to update Android Apps. I am using the Android Studio.

[Steps]
1. Open “build.gradle” file on the Android Studio.
2. Update Version. We must set the versionCode as an Integer.
(ex.) You must write the versionCode and version name in the file like this.
versionCode 4 to 5
versionName “1.0.4” to “1.0.5”
3. Click “Sync Now” on the upper right.
4. After the sync, Click Build on the menu. And then, choose Generate Signed APK…
5. Choose “Android App Bundle” on another p

元記事を表示

MinecraftでMODを開発したい#1


*MinecraftでMODの開発をします*
*試行錯誤を書いていくだけのものになります*


この記事のテーマ
######環境構築をする

##目次
– IntelliJ IDEAのインストール
– Forgeのインストール
– Example Modの削除

##動作環境 2021/05/12
Mac OS Big Bur ver 11.1
IntelliJ IDEA 2021.1.1
AdoptOpenJDK (HotSpot) 1.8.0_282
Minecraft 1.16.5
Forge 36.1.0

##IntelliJ IDEAのインストール
ダウンロードページから「Community」をダウンロード
ダウンロードしたインストーラを実行し、デフォルト設定のまま画面に従ってインストール
IntelliJ IDEAを起動し、タイトル画面で「New Project」を選択
「Project SDK」から「Download JDK」を選択
「Version」に「1.8」、「Vendor」に「AdoptOpenJDK (HotSpot)」を指定し、「Downlo

元記事を表示

JBoss EAP XP( Eclipse MicroProfile準拠の製品 ) 覚え書き

# モチベーション

掲題の製品名を伺う機会あったが、さっぱり存じなかったので
自分向けに備忘するもの。

# JBoss EAP XP とは
JBoss EAPに追加インストールできる、Eclipse MicroProfile仕様のImplementationモジュール。
公式HPにてjarファイル形式で絶賛、配布中。

正式名称は`JBoss Enterprise Application Platform expansion pack`とのこと。

# 公式ガイド辿り方

1. [JBoss EAPの公式HP](https://access.redhat.com/documentation/ja-jp/red_hat_jboss_enterprise_application_platform/)にアクセス
1. 左メニューの`Product Version`から、JBoss EAP製品バージョンを選択。
*:2021年5月時点:JBoss EAP v7.3でしか利用不可の様子
1. 左メニューの`Category`から、`JBoss Enterprise Application

元記事を表示

クラス継承時の処理の順番について

# クラス継承時の処理の順番について

JavaSilverSE11の勉強中、クラスの継承に関する問題の解説を読んで、よく混乱していたので、ここで自分なりにクラス継承時の処理の順番について調べてまとめてみました。


## 継承とは何か?
継承とは新しく機能を実装するときに、以前実装した機能と共通する機能を引き継ぐことです。

継承はJavaを中心とするオブジェクト指向の基本的な概念となります。

## クラスの継承
既存のクラスをもとに、新しい別のクラスを作成し、既存のクラスにある機能を引き継ぐことです。

クラスの継承により、継承先のクラスは同じプログラムを書く手間が省け、新しい機能(差分の機能)を実装するだけで良くなります。
![クラスの継承イメージ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1282434/0385e3fc-81ee-fad4-8843-9f86a0999353.png)

既存

元記事を表示

ざっくり理解するプログラミング入門基礎編(Java)第1回

この記事は、ざっくり理解するプログラミング入門基礎編(Java)第0回の続きです。
読んでない方はぜひそちらを読んでからこの記事を読んでください。

https://qiita.com/tntn70200751/items/6a94413400b0214034d4

##Javaプログラムの書き方 1

### Hello Worldの解説

これは前回の最後で実行してみたコードです。

“`java:Main.java
public class Main { //外側のブロック(クラス)の始まり
public static void main(String[] args){ //内側(メソッド)のブロックの始まり
System.out.println(“Hello World!”);
} //内側のブロックの終わり
} //外側のブロックの終わり
“`

####コメント

`//`の後の文字を見てください。これはコメントと言ってコード内の好きなところにメモのように好きな文字を書くことができます
コメントを記述する方法は以下の二つがあります。

元記事を表示

ざっくり理解するプログラミング入門基礎編(Java) 第0回

 この「ざっくり理解するプログラミング入門」はプログラミング未経験者に向けたプログラミングをイメージ理解し、プログラミングを始める第一歩となるように書いています。プログラミング経験者の方が読むと回りくどくてイライラするかもしれません。
なお、この記事はしっかりとした意味を理解するというよりも、ざっくりとしたイメージでとらえることを目的としたものですので実際の仕組みとは違うことなどもあると思いますのでご了承ください。

###プログラムはなぜ動くの?
 プログラムは0と1でできているという言葉を聞いたことがある人もいるかもしれませんが、プログラムを書くときプログラマが0と1でコードを書かなきゃいけないなんてことはありません。この0と1でできたプログラムは機械だけが理解できる言葉だと思ってください。これを__機械語__といいます。
プログラムを動かすには、人間にもわかる言葉でプログラムを書いて、機械語に翻訳して動かします。この人間が書くプログラムのことを__ソースコード__といいますが、このソースコードには言葉にもいろんな種類があるように、様々な言語があります。これを__プログラミング言

元記事を表示

【Java アルゴリズム修行⑮】マージソート

###マージソートとは

等間隔で単純挿入ソートを繰り返すシェルと、枢軸よりも大きいか少ないかで交換を行うクイックソートは
共に隣り合う値以外の交換も発生するので、不安定なアルゴリズムでしたが、
今回は隣り合う値同士の交換のみのマージソートについて学んでいきたいと思います。

マージなので色々と合わせるのかなと思いましたが、実際は

>配列を前半部と後半部の2つに分け、

それぞれをソートしたものをマージする作業を繰り返すことによってソートを行うアルゴリズム

というものらしいです。。
全体を2つに分けてそれぞれをソートして、最終的に合成することを繰り返せば良いっぽいですね。

実際にイメージで理解していきましょう。
`{4,3,6,7,1,8,6,2}`という数列をマージソートしてみます。

分割自体は要素数が1になるまで繰り返すので、それぞれが1桁になるまで分割します。

![スクリーンショット 2021-05-12 12.43.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/521565/61

元記事を表示

mybatisのtrimで既に存在するWHERE句へ動的にANDやORを追加したい

## 事象
“`sql
SELECT * FROM FRUITS WHERE PRICE = 500;
“`
こんな感じのSQLに特定条件下でAND()を追加して、果物名(複数可)で絞れるようにしたい

## 方法
よく見るこいつをもじってAND句に応用する

“`xml

“`
<以下サンプル>
appleがtrueだったらappleのデータのみを取ってくる。
bananaもtrueだったらさらにbananaのデータも取ってくる。
※banana==trueのみの場合、先頭のORは削除される

“`java:TestMapper.java
public interface TestMapper {
List getFruitList(@Param(“apple”) boolean apple, @Param(“banana”) boolean banana) {
List getFruitList();

元記事を表示

入門Javaのenum

> この記事のサンプルコードは、enumの説明に特化しています。それゆえ、一般的には良くないとされるコードも含まれています(金額の計算で `BigDecimal` ではなく `int` や `double` を使っているなど)。

# 分類などをどう表すか
例えば、架空のECサイトのシステムを考えます。このECサイトの会員にはブロンズ会員・シルバー会員・ゴールド会員の3つのランクがあり、ランクによって割引率などが異なります。これをどうやって表しましょうか?

まずは良くない例です。

“`java:良くない例
public class Rank {
public static final int BRONZE = 1;
public static final int SILVER = 2;
public static final int GOLD = 3;
}
“`

ランクを整数の定数で表しています。こうすると、どのような弊害があるでしょうか?

例えば、ランクを引数に取るメソッドがあるとしましょう。

“`java:ランクを引数に取るメソッドの定義の例

元記事を表示

陣取りゲーム 【paiza Aランクレベルアップメニュー】

https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_camp_boss/

 満を持してのボス戦。

 最初はキューを二本化するプランを考えてみたが、一本のキューで交互に入れる方針に変換。
 クラスXYにAかBかを持たせて、「値が変わったら手番終了と判断して引数を1増やす」。

「どっちのターンかを配列で持っておいて、引数のカウンターは増やし続け、余りで判定する」という発想は前のランクから。
 みんなうまいこと考えるもんだなあ。

https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_mapmove_boss/

“`java:Main.java
import java.util.Scanner;
import java.util.Queue;
import java.util.ArrayDeque;

public class Main {
public static void main(String[] args) {

元記事を表示

Java エクセルで交通信号を作成

Spire.XLS for Javaという無料のライブラリを利用して、エクセルで三つ色、また、四つ色のTraffic lights「直訳:交通信号」を作成できます。今日はこの方法を紹介していきます。

下準備

1.E-iceblueの公式サイトからFree Spire. XLS for Java無料版をダウンロードしてください。

f:id:lendoris:20210512144344p:plainJavaで安全なスレッドを作りましょう

##背景##
新幹線の切符は100枚があります。番号は1から100までです。現在、それらの切符を全部売っていくことにしたいです。
通常一つの窓口を設置して、順番に販売していくことはいいですが、乗客は多くなると、窓口のかかりの人は手が回れないですので、もう一つの窓口を設置しました。
そして、現在窓口1と窓口2があります。窓口1と窓口2は一緒に新幹線の切符を販売することになりました。

ここの窓口はスレッドとして理解しても大丈夫です。では、窓口をどうやって設置しますか?

##スレッドの基本的な使い方##

###使い方1 Threadを継承したクラスを作成します###
“`java
public class Main {
public static void main(String[] args) {
Thread thread1 = new MyThread();
Thread thread2 = new MyThread();
thread1.setName(“thread 1st”);
thread2.se

元記事を表示

多態性(ポリモーフィズム)とは

***
###■ 多態性とは
オブジェクトをあいまいに、ざっくりと捉えることで、ある処理を命令したらクラスが違っても同じように振舞ってくれる仕組み

例えばある人物が書いてある紙を、そのままただの「紙」として捉えるのか、肖像画という「絵」として捉えるのか、お金という「紙幣」として捉えるのか、その捉え方によって同じ「使う」という振る舞いでも内容変わってくる、というようなイメージ
曖昧で抽象的なほど利用方法は限定され、逆に具体的に捉えるほどに用途は増えていく

通常のインスタンス化では

“`Java
Athlete a = new Athlete();
“`
という記述で Athlete クラスのオブジェクトを new するが、内容は Athlete 型の変数 a に、new してインスタンス化した Athlete オブジェクトを代入し、変数 a を使用するようになっている
つまり Athlete オブジェクトであれば、そのオブジェクトを 「Athlete という性質」のものとして捉えることになるが、多態性という機能はこのオブジェクトの捉え方をよりざっくり(抽象的に)としたものにする

元記事を表示

WSL2にArch Linuxを使いたくてインストールしたやつがいるらしい

私です

あくまで今回は備忘録なので、基本的に参考記事の通りに動かしたものです。

# 経緯

この度新社会人となりました。研修でJavaの勉強を改めて勉強しなおしているのですが、動作確認のためにわざわざIDEでやるのは面倒くさいと感じたためターミナル上で動かしたいと思ったのですが、WindowsのターミナルはコマンドプロンプトもPowershellもいまいち使い勝手が悪い(Powershellはあんま好みじゃない)。なのでWSL
上で動かしたいと思ったのですが、WSLとして公式に配布されているディストリビューションにArch Linuxが無い。はてどうしたものか…

# ツールがあった

まあとにかくググってみるのが一番です。それで調べてみると[WSLでArchLinuxを入れて使う記事](https://qiita.com/Gen-Arch/items/f2921e2b010115aa2495)がありました。この中のあらかじめ作成済みのArch Linuxのイメージを登録してくれるツールを使ってやってみることにします。

ファイルをダウンロードして解凍するとArch2.exeファイ

元記事を表示

Java staticメソッドと非staticメソッド・呼び出しで手こずった件

#はじめに
メソッドの呼び出しで手こずったので、忘れないようにメモしておきます。
間違いありましたら、コメント頂けますと幸いです。

ということで、staticと非staticの呼び出しについてやっていきます。

#staticメソッドについて
調べてみると、`staticなメソッド`というのはインスタンスを生成しなくも使用できるメソッドだということのようですが、初心者の私にはイマイチstaticと非staticのメソッドの違いがわからず、下記コードを実行しました。

“`Main.java
public class Main {

public static void main(String[] args) {

String firstName = “hoge”;
String lastName = “huga”;

//getName関数の呼び出しと出力
System.out.println(getName(firstName, lastName));
System.out.println

元記事を表示

Sublime Text 3でJavaをビルドする

Javaをエディタで手軽に勉強したい。

## 前提
– Windows 10 Pro 64bit
– Javaのキットをインストール済

## Sublime Text 3の設定
Tools -> Build System -> New Build System… でsublime-buildファイルを作成し[^1]、\\(Sublime Textのフォルダ)\Data\packages\Userに保存する。これでCtrl+bでコンパイル~実行まで行うことができる。
デフォルトでも「JavaC」が入っているが、エンコードの問題で日本語文字がコンパイルエラーに繋がってしまう。UTF8でソースを作成することを前提に(File -> Save with Encodingで指定できる)、コンパイル時に-encoding utf-8のオプションをつけるように記述している。

“`Java.sublime-build
{
“selector”: “source.java”,
“file_regex”: “^(.*?):([0-9]*):?([0-9]*):? (.*)”,

元記事を表示

Azure Functions + Spring Cloud Function で Spring Retry を使う

QiitaAzure + Java の企画も終わってしまいました、以前、 [Azure Functions で Spring Cloud Functionを使う – Qiita](https://qiita.com/statemachine/items/5133e415dfad95ebafa6) という記事を書いたのですが、もうすこし Spring フレームワークの機能を使えないと思い Spring Retry の機能を Azure Function + Spring Cloud で試してみました。

# Spring Retry

Spring フレームワーク上で、アノテーションベースでリトライ処理を書けたりする便利なライブラリです。Spring Retry 単体でコードベースでリトライを記述することもできます。

GitHub は、以下です。

https://github.com/spring-projects/spring-retry

ここでは、Spring Retry そのものの解説はしないので、ドキュメント等を当たってください。

# Azure Function

元記事を表示

【Java】ポリモーフィズム:フィールド・メソッドは型とインスタンスのどちらが優先される?

##はじめに
JavaSilver:継承とポリモーフィズムの問題

ポリモーフィズムについて、
継承関係にある2つのクラス内に同名のフィールド・メソッドがあった場合、
どちらが優先されるのか分からなくなったのでまとめる

*「継承関係にある2つのクラス内に同名のフィールド・メソッドがあった場合」というのは、以下のコードのようなものである*

“`java
public class A{
String val = “A”;
public void sample(){
System.out.print(val);
}
}

public class B extends A{
String val = “B”;
public void sample(){
System.out.print(val);
}
}
“`

##結論
* フィールドを参照した場合
* ->変数の型で宣言されたものが優先
* メソッドを参照した場合
* ->オーバーライドされたものがあるならそちらを優先

元記事を表示

コレクションを操作するメソッドの使い方

# コレクションを操作するメソッドの使い方

コレクションを操作する下記のメソッド使い方をListを使用して確認してみようと思います。

* ` ArrayList.add(? e) `
引数の値を新しい要素としてリストの最後に追加します。
* ` ArrayList.get(int i) `
引数の値のインデックスの要素を返します。
* ` ArrayList.indexOf(? e) `
引数と一致する要素がリストに含まれていないかインデックス0から順番に確認し、一致した要素があればインデックスを返します。
一致する要素がない場合は-1を返します。

* ` ArrayList.removeAll(ArryList e) `

引数のリストの要素と一致する要素を削除します。

* ` ArrayList.removeIf(Predicate filter) `
指定された条件を満たす要素を削除します。

* ` ArrayList.replaceAll(UnaryOperator operator) `
指定された処理を

元記事を表示

陣取りのターン数 Java編(解決)【paiza Aランクレベルアップメニュー】

https://qiita.com/shidoh78/items/b6b0597cbc753eb864d6

** 解決しました。**

“`java:Main.java
import java.util.*;
import java.util.Queue;
import java.util.ArrayDeque;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

int h = sc.nextInt();
int w = sc.nextInt();
int n = sc.nextInt();
String map[][] = new String[h][w]; //陣

Queue q = new ArrayDeque<>(); //キュー

for(int i=0; i

元記事を表示

OTHERカテゴリの最新記事