JAVA関連のことを調べてみた

JAVA関連のことを調べてみた
目次

[paiza]売り切れ!在庫の山!(【殿堂入りキャンペーン】残り物の量 (paizaランク C 相当)

# 瓜売りが瓜売りに来て瓜売れ残り売り売り帰る瓜売りの声
うりうりウルセェ!

https://paiza.jp/works/mondai/c_rank_skillcheck_archive/leftover

# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!

ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!

開発・実行環境はこんな感じ

– VSCode
– Java 17
– jUnit 5.9
– maven

pom.xmlはこんな感じ

“`xml:pom.xml

元記事を表示

[paiza]フィズバズ(Fizz Buzz (paizaランク C 相当)

# 3がつくときだけアホになるやつではない
【世界の…】が付くと、山ちゃん(手羽先のアレ)が思いついちゃう。

https://paiza.jp/works/mondai/c_rank_skillcheck_sample/fizz-buzz

# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!

ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!

開発・実行環境はこんな感じ

– VSCode
– Java 17
– jUnit 5.9
– maven

pom.xmlはこんな感じ

“`xml:pom.xml

元記事を表示

[paiza]アルミ缶の上にある。。。(みかんの仕分け (paizaランク C 相当)

# 仕分けと聞くと。。。
【2位じゃダメなんでしょうか?】の2位にすらなれなかった人が思い出されるなぁ。。。
仕事をするうえでも、タスクの仕分けを上手くして順序・効率よく作業が出来るようにしないといけないですね。

https://paiza.jp/works/mondai/c_rank_skillcheck_archive/mikan

# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!

ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!

開発・実行環境はこんな感じ

– VSCode
– Java 17
– jUnit 5

元記事を表示

(調査中)Mockitoを使用して、JavaでJarFileオブジェクトのopenConnectionメソッドをモックにする

手順
JarFileオブジェクトをモックする: Mockitoを使用して、JarFileクラスのモックを作成します。
openConnectionメソッドをモックする: モックされたJarFileオブジェクトがopenConnectionメソッドを呼び出した際に、モックされたJarURLConnectionを返すように設定します。
テスト内でモックを使用する: テストコード内で、モックされたJarFileを使用します。
以下はその例です。

“`java
import static org.mockito.Mockito.*;

import java.net.JarURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.jar.JarFile;
import org.junit.jupiter.api.Test;

public class JarFileTest {

@Test
void testOpenConnection() throws Exce

元記事を表示

Javaのメモリ領域(スタック領域、ヒープ領域)について

# 目次
[メモリ](#メモリ)
[スタック領域とは](#%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E9%A0%98%E5%9F%9F%E3%81%A8%E3%81%AF)
[ヒープ領域とは](#%E3%83%92%E3%83%BC%E3%83%97%E9%A0%98%E5%9F%9F%E3%81%A8%E3%81%AF)
[メモリ確保のイメージ](#メモリ確保のイメージ)
[値型のメモリ確保のイメージ](#値型のメモリ確保のイメージ)
[参照型のメモリ確保のイメージ](#参照型のメモリ確保のイメージ)
[おまけ](#おまけ)
[リストとは](#リストとは)
[挿入](#挿入)
[削除](#削除)
[単方向リスト](#単方向リスト)
[循環リスト](#循環リスト)
[参考文献、参考サイト](#%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE%E5%8F%82%E8%80%83%E3%82%B5%E3%82%A4%E3%83%88)
[関連記事](#関連記事)

# メモリ
プログラムの実行時に利用される記憶領域(メモリ領域)には

元記事を表示

Javaで指定のファイルがテキストファイルかどうか判定する

Javaを用いて指定のファイルがテキストファイルかどうかを判定する方法を調べたので備忘録としてまとめます。

[Apatch Tika](https://tika.apache.org/)を用いてファイルの[MIME TYPE](https://developer.mozilla.org/ja/docs/Web/HTTP/Basics_of_HTTP/MIME_types)を判定してもらう方法が手軽にできてよかったです。

Mavenのライブラリをインポートします。
“`xml:pom.xml

org.apache.tika
tika-core
2.9.2

“`

Apache Tikaを使ってファイルがテキストファイルかどうかを判定するコード例です。

“`java
import org.apache.tika.Tika;
import java.io.File;
import

元記事を表示

Java Collection ・Map 例題 100本ノック

次のコードの出力を答えてください。

変数は、以降の問題に引き継いでいくと考えてください。

# 問1

“`java
List list = new ArrayList<>(Arrays.asList(0, 1, 2, 4));
List list2 = new ArrayList<>(Arrays.asList(1, 3));
“`
“`java
System.out.println(list.add(5));
System.out.println(list);
“`

問1の解答
true
[0, 1, 2, 4, 5]

# 問2
“`java
System.out.println(list.addAll(list2));
System.out.println(list);
“`

問2の解答
tr

元記事を表示

Java Collectionで使えるメソッドについて

Collectionインターフェイス、およびそのサブインターフェイス、サブクラスで利用できるメソッド、要素の追加、削除ができるメソッドについて整理してみました。

# Collection インターフェイス
## 挿入
### `boolean add(E e)`
指定された要素 e をコレクションに追加します。成功した場合は true を返します。

### `boolean addAll​(Collection c)`
指定されたコレクション c のすべての要素をこのコレクションに追加します。
少なくとも 1 つの要素が追加された場合は true を返します。

## 削除
### `void clear()`
コレクションからすべての要素を削除します。空のコレクションになります。

### `boolean remove(Object o)`
指定された要素 o をこのコレクションから削除します。存在し、削除された場合は true を返します。
注意点として、要素のインデックスではなく、要素の値そのものを引数に指定する必要があります。

### `de

元記事を表示

解いてみた。「Sランク:文字列収集」

# 問題
[「Sランク:文字列収集」](https://paiza.jp/works/mondai/real_event/word_collection)

# コード
Javaで解いてみました。

``` Java
import java.util.*;

// 文字列とその値段を保持するクラス
class StrPrice {
public String str = "";
public int price = 0;
}

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

Scanner sc = new Scanner(System.in);
int nN = sc.nextInt();
int nM = sc.nextInt();

// 文字列とその値段の読み込み
StrPrice[] asp = new StrPrice[nN];
for (int i = 0; i < nN; i

元記事を表示

[paiza]あんぱいあー(野球の審判 (paizaランク C 相当)

# そろそろ審判ってAIにならないのか?
野球に然り、オリンピックに然り、誤審がどうのこうのって騒がれてるけど、
AIじゃなくてもいいけどビデオ判定で全部済ませればよくね?とか思っちゃう今日このごろ。
そしたら審判分の人件費浮くよね?(カメラとかの維持費のほうが高いのかしら?

https://paiza.jp/works/mondai/c_rank_skillcheck_archive/umpire

# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!

ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!

開発・実行環境はこんな感じ
元記事を表示

[paiza]ドリームジャンボ(宝くじ (paizaランク C 相当)

# 頼む当たってくれ!
業務に囚われない趣味プログラマーになりたいんだ。。。

https://paiza.jp/works/mondai/c_rank_skillcheck_archive/lottery

# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!

ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!

開発・実行環境はこんな感じ

- VSCode
- Java 17
- jUnit 5.9
- maven

pom.xmlはこんな感じ

```xml:pom.xml

元記事を表示

Paiza×Qiitaキャンペーン 全問Javaで解説してみた【D Eメールアドレス 編】

# 問題へのリンク

https://paiza.jp/works/mondai/d_rank_skillcheck_archive/email_address

# 解答コード

詳細

~~~

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
final String S = scanner.next();
final String T = scanner.next();

System.out.printf("%s@%s\n",S,T);
scanner.close();
}
}

~~~

# 解説

詳細

~~~

System.out.println(S + "@" + T);

~~~

でもいいんで

元記事を表示

[paiza]ポムポムプリンのおしり(【殿堂入りキャンペーン】N倍の文字列 (paizaランク D 相当)

# 見上げた夜空の星達の光
プログラムなら掛け算のアレだし、SQLだと全カラム取ってくる的なアレだし、何でもござれのワイルドカード的なアレを沢山繋げちゃうZO!!

とりあえずJavaでDランクはコレにて終了!

https://paiza.jp/works/mondai/d_rank_skillcheck_archive/square

# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!

ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!

開発・実行環境はこんな感じ

- VSCode
- Java 17
- jUnit 5

元記事を表示

[paiza]どんどん足していこうね~(足し算 (paizaランク D 相当)

# しまっちゃうおじさん
スナドリネコさんみたいなビジュアルなのに、
やってることは拉致・監禁という鬼畜なおじさん。
そりゃ、ぼのぼのも泣くわ...

https://paiza.jp/works/mondai/d_rank_skillcheck_sample/addition

# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!

ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!

開発・実行環境はこんな感じ

- VSCode
- Java 17
- jUnit 5.9
- maven

pom.xmlはこんな感じ

```

元記事を表示

[paiza]ちっちゃいことは気にするな(一番小さい値 (paizaランク D 相当)

# きょ~れつ~(ワカチコワカチコ
小さい数を探す(ここらへんの文考えるのめんどくなってきた

https://paiza.jp/works/mondai/d_rank_skillcheck_sample/min_num

# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!

ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!

開発・実行環境はこんな感じ

- VSCode
- Java 17
- jUnit 5.9
- maven

pom.xmlはこんな感じ

```xml:pom.xml

元記事を表示

[paiza]若さ、若さって何だ?(文字の一致 (paizaランク D 相当)

# 振り向かないことさ(あばよ涙
タイトルはいつも適当につけてます。タイトル詐欺でスイマセン。
そんなこんなで、正式にJava版(ジャーーーバーン)突入!!
まずはね、Dランクでイキリ倒してやろうかと(よろしく勇気

https://paiza.jp/works/mondai/d_rank_skillcheck_sample/diff_str

# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!

ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!

開発・実行環境はこんな感じ

- VSCode
- Java 17
- jUni

元記事を表示

Javaで「UNIX_LINESフラグ(\nのみ行末記号として認識される)」の動作を確認してみた

# 概要

Javaで「UNIX_LINESフラグ(\nのみ行末記号として認識される)」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/start/regex/index20.html

# 実装

以下のファイルを作成しました。
```JSample20_1.java
import java.util.regex.*;

class JSample20_1{
public static void main(String[] args){
String target1 = "Thank You!\r\nGood Bye";
String target2 = "Good Bye\nThank You!";
String target3 = "Good Bye\r\nThank You!";

String regex = "Bye$";
Pattern p1 = Pattern.compile(regex, Pattern.MULTILINE);

Matcher m1_1

元記事を表示

[paiza]Javaで解いていく事前準備編

# Java編始まるよ~
そんなこんなでJavaScript編が完走できたので、次はJavaでダラダラと解いていくZeeee!!

# とりあえず。。。
いきなり問題解いてもアレなので、最初に標準入力から値を受け取ってStringのListに変換する部分だけを実装しようかと。

公式でも載ってる↓を見てね

https://paiza.jp/guide/samplecode.html

ほら、これから投稿していくソースは、標準出力を受け取った後のソースにしたいため。

```java:実行するメインクラス
package jp.co.asil;

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

public class Main {
public static void main(String[] args) {
List list = new ArrayList<>();
try (Scanner sc = new Sc

元記事を表示

Nablarch v6のウェブプロジェクト用アーキタイプを使って、ウェブアプリケーションを試す

# What's?

前にこんなことをやりました。

https://qiita.com/charon/items/91e04b713570a81ca108

この時はNablarch 5のRESTful ウェブサービスを対象にしていましたが、今回は以下のお題でやってみようかなと思います。

- Nablarch 6u1を使う
- ウェブプロジェクト用アーキタイプからウェブアプリケーションプロジェクトを作成する
- データベースをPostgreSQLに切り替える

# 環境

今回の環境はこちらです。

```shell
$ java --version
openjdk 21.0.4 2024-07-16
OpenJDK Runtime Environment (build 21.0.4+7-Ubuntu-1ubuntu222.04)
OpenJDK 64-Bit Server VM (build 21.0.4+7-Ubuntu-1ubuntu222.04, mixed mode, sharing)

$ mvn --version
Apache Maven 3.9.8 (36645

元記事を表示

Spring Securityでの認証における認証用パスワードのハッシュアルゴリズムを更新する

# はじめに
長い期間運用しているサイトだと、認証用のパスワードのハッシュアルゴリズムが陳腐化してしまうことが少なくありません。
その問題に対応するための仕組みがSpring Securityには備えられています。
そして、その仕組みは現在使用中のシステムにおいても適用できるようになっています。
ここでは、Spring Securityにて、パスワードのハッシュアルゴリズムを更新する方法を紹介します。

# パスワードエンコーダーの定義
DelegatingPasswordEncoderを使用することで、複数のパスワードエンコーダーを登録することが出来ます。
それにより、新しいハッシュアルゴリズムが出来た時に、新たなエンコーダーを登録することで、同一システム内に複数のハッシュアルゴリズムの共存が可能になります。

```java:ApplicationConfig
@Bean("passwordEncoder")
public PasswordEncoder passwordEncoder() {
Map

元記事を表示

OTHERカテゴリの最新記事