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

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

乱数の生成

# 始めに
Javaでは乱数を生成する事が出来ます。
乱数を生成するには、Mathクラス、またはRandomクラスを用います。

# Math.random()を利用する方法
Math.random()は0.0以上1.0未満の実数を生成するメソッドです。
そのままだとdouble型。

Math.random()に様々な数値を加算、乗算する事で、乱数の範囲を調整する事が可能になります。

~~~ :0.0以上x未満の実数を生成
Math.random()*x
~~~

~~~ :y以上(y+1.0)未満の実数を生成
Math.random()+y
~~~

また、int型でキャストすると整数を生成出来ます。

~~~ :y以上(x+y)未満の整数を生成
(int)(Math.random()*x+y)
~~~

# java.util.Random()を利用する方法
java.util.Random()はjava.util.Random()nextInt()のように表記する事で乱数を生成します。

また、nextInt()に引数を設定する事が可能で、その場合は0以上、(引数-1)未満

元記事を表示

Java初心者のためのPython×競技プログラミング入門Day7

# Java初心者のためのPython×競技プログラミング入門Day7
本記事は、Javaの基本を学び終えた方に向けて、Pythonを使って競技プログラミングを始めてもらおうという趣旨の記事です。1週間でAtCorderのB問題(現時点で最新のABC338)(誘導あり)を解けるようにする、ということを目標として書いていきます。
言い訳:まだ業務未経験であり、歴も長くないため、間違っているところや勘違いについてはご容赦下さい。
初投稿のため、至らぬ点はぜひご指摘いただきたいです。
前回:[Java初心者のためのPython×競技プログラミング入門Day6](https://qiita.com/maru3460/items/00b2796580b6fc1b0e6e)

### 前提条件
– Javaの基本がわかる
– googleのアカウントを持っている
– AtCorderのアカウントを持っている。持っていない方は[こちら](https://info.atcoder.jp/overview/contest/intro)を参考にしてください

Python実行用ファイル:[J

元記事を表示

Java初心者のためのPython×競技プログラミング入門Day6

# Java初心者のためのPython×競技プログラミング入門Day6
本記事は、Javaの基本を学び終えた方に向けて、Pythonを使って競技プログラミングを始めてもらおうという趣旨の記事です。1週間でAtCorderのB問題(現時点で最新のABC338)(誘導あり)を解けるようにする、ということを目標として書いていきます。
言い訳:まだ業務未経験であり、歴も長くないため、間違っているところや勘違いについてはご容赦下さい。
初投稿のため、至らぬ点はぜひご指摘いただきたいです。
前回:[Java初心者のためのPython×競技プログラミング入門Day5](https://qiita.com/maru3460/items/8b5f58f44081111d90ce)
次回:[Java初心者のためのPython×競技プログラミング入門Day7](https://qiita.com/maru3460/items/b2af82d55d8330a353a0)

### 前提条件
– Javaの基本がわかる
– googleのアカウントを持っている
– AtCorderのアカウントを持

元記事を表示

Java初心者のためのPython×競技プログラミング入門Day5

# Java初心者のためのPython×競技プログラミング入門Day5
本記事は、Javaの基本を学び終えた方に向けて、Pythonを使って競技プログラミングを始めてもらおうという趣旨の記事です。1週間でAtCorderのB問題(現時点で最新のABC338)(誘導あり)を解けるようにする、ということを目標として書いていきます。
言い訳:まだ業務未経験であり、歴も長くないため、間違っているところや勘違いについてはご容赦下さい。
初投稿のため、至らぬ点はぜひご指摘いただきたいです。
前回:[Java初心者のためのPython×競技プログラミング入門Day4](https://qiita.com/maru3460/items/36ee56dbf4d7b42e3d56)
次回:[Java初心者のためのPython×競技プログラミング入門Day6](https://qiita.com/maru3460/items/00b2796580b6fc1b0e6e)

### 前提条件
– Javaの基本がわかる
– googleのアカウントを持っている
– AtCorderのアカウントを持

元記事を表示

Java初心者のためのPython×競技プログラミング入門Day4

# Java初心者のためのPython×競技プログラミング入門Day4
本記事は、Javaの基本を学び終えた方に向けて、Pythonを使って競技プログラミングを始めてもらおうという趣旨の記事です。1週間でAtCorderのB問題(現時点で最新のABC338)(誘導あり)を解けるようにする、ということを目標として書いていきます。
言い訳:まだ業務未経験であり、歴も長くないため、間違っているところや勘違いについてはご容赦下さい。
初投稿のため、至らぬ点はぜひご指摘いただきたいです。
前回:[Java初心者のためのPython×競技プログラミング入門Day3](https://qiita.com/maru3460/items/ae9cab608affad804cd7)
次回:[Java初心者のためのPython×競技プログラミング入門Day5](https://qiita.com/maru3460/items/8b5f58f44081111d90ce)

### 前提条件
– Javaの基本がわかる
– googleのアカウントを持っている
– AtCorderのアカウントを持

元記事を表示

Java初心者のためのPython×競技プログラミング入門Day3

# Java初心者のためのPython×競技プログラミング入門Day3
本記事は、Javaの基本を学び終えた方に向けて、Pythonを使って競技プログラミングを始めてもらおうという趣旨の記事です。1週間でAtCorderのB問題(現時点で最新のABC338)(誘導あり)を解けるようにする、ということを目標として書いていきます。
言い訳:まだ業務未経験であり、歴も長くないため、間違っているところや勘違いについてはご容赦下さい。
初投稿のため、至らぬ点はぜひご指摘いただきたいです。
前回:[Java初心者のためのPython×競技プログラミング入門Day2](https://qiita.com/maru3460/items/848b28a92719b86c8044)
次回:[Java初心者のためのPython×競技プログラミング入門Day4](https://qiita.com/maru3460/items/36ee56dbf4d7b42e3d56)

### 前提条件
– Javaの基本がわかる
– googleのアカウントを持っている
– AtCorderのアカウントを持

元記事を表示

Java初心者のためのPython×競技プログラミング入門Day2

# Java初心者のためのPython×競技プログラミング入門Day2
本記事は、Javaの基本を学び終えた方に向けて、Pythonを使って競技プログラミングを始めてもらおうという趣旨の記事です。1週間でAtCorderのB問題(現時点で最新のABC338)(誘導あり)を解けるようにする、ということを目標として書いていきます。
言い訳:まだ業務未経験であり、歴も長くないため、間違っているところや勘違いについてはご容赦下さい。
初投稿のため、至らぬ点はぜひご指摘いただきたいです。
前回:[Java初心者のためのPython×競技プログラミング入門Day1](https://qiita.com/maru3460/items/2b42d78890b6f001d789)
次回:[Java初心者のためのPython×競技プログラミング入門Day3](https://qiita.com/maru3460/items/ae9cab608affad804cd7)

### 前提条件
– Javaの基本がわかる
– googleのアカウントを持っている
– AtCorderのアカウントを持

元記事を表示

Java初心者のためのPython×競技プログラミング入門Day1

# Java初心者のためのPython×競技プログラミング入門Day1
本記事は、Javaの基本を学び終えた方に向けて、Pythonを使って競技プログラミングを始めてもらおうという趣旨の記事です。1週間でAtCorderのB問題(現時点で最新のABC338)(誘導あり)を解けるようにする、ということを目標として書いていきます。
言い訳:まだ業務未経験であり、歴も長くないため、間違っているところや勘違いについてはご容赦下さい。
初投稿のため、至らぬ点はぜひご指摘いただきたいです。
次回:[Java初心者のためのPython×競技プログラミング入門Day2](https://qiita.com/maru3460/items/848b28a92719b86c8044)

### 前提条件
– Javaの基本がわかる
– googleのアカウントを持っている
– AtCorderのアカウントを持っている。持っていない方は[こちら](https://info.atcoder.jp/overview/contest/intro)を参考にしてください

Python実行用ファイル:[J

元記事を表示

Javaの文字列表記方法

# 始めに
Javaには他言語と同様に文字列を表記するための型が存在します。
それがString型です。

# String型
数値型と文字型のように、型が異なるものを表記する際の特徴があります。
それが””と+を用いた文字列の連結です。

例えば 私の戦闘力は53万です。 とString型で表記したい場合、
~~~
“私の戦闘力は” + 53 + “万です。”;
~~~
と表記されます。

元記事を表示

localhot xampp セッティング例「備忘録」

一度整理して、再構築したので構築の見本と備忘録のため例として載せることにしました。
それぞれの環境のパスに合わせ参考程度でお願いします。
“`text
xampp-control.exe action to stato

it my address
C:\xampp\htdocs
http://localhost/ to PHP: index.php http://127.0.0.1/index.php

Apache 2.2 work Area action?
file:///C:/Program%20Files%20%40×86%41/Apache%20Software%20Foundation/Apache2.2/htdocs/my_work_index.memo
PHP
php_5_4_6_Win32_VC9_x86 Chec Apach conf httpd.conf No Sete UP.
php_8_2_12_vs16_64 local no setup
Sete up: Apache
AddHandler cgi-script .cgi .pl .r

元記事を表示

Spring transactionメモ

~~~Java
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.DefaultTransactionDefinition;

import java.io.IOException;

@Service
public class CsvImportSer

元記事を表示

Java経験者がKotlinで実装したアプリをGoogle Playでリリースするまでに得た気づき

# 概要
日頃、Javaに触れている筆者が、KotlinでAndroidアプリを作成し、Google Playに公開した一連の中で得た気づきを共有できたらと考えています…

# 前提・背景
Java:ある程度読み書きできます…Androidアプリは過去に個人レベルでJavaにて実装経験がありました。
Kotlin:興味をよせていましたが、KotlinでのAndroidアプリ実装経験はありませんでした。

# デバッグに使うAndroid仮想マシンのアイコンランチャに、開発中アプリのアイコンが2つ存在する…
開発中、デバッグ環境としてAndroid Studioに標準搭載のAndroid仮想マシンを使っていました。デバッグや実行をすると、当該アプリがインストールされランチャーに開発アプリのアイコンが追加されます。ところが、まったく同じアイコン・名前のアプリがランチャーに2つ表示されていました…

## 原因・解決
AndroidManifest.xmlにて、以下の2つの記述が、複数のActivityの各``内に

元記事を表示

ラムダ式の中では「実質的にfinalでない変数」は使えないらしい

# はじめに
業務でJavaのStream APIを書いたときにエラーが出たので調べたことをメモします。

# 問題
日付と値を持つオブジェクトのリストと、対象期間が与えられ対象期間内でリストにない日付のデータを補完する処理を書きました。

“`java
List dateAndValList = List.of(); // 実際には検証したいオブジェクトのリスト
LocalDate startDate = LocalDate.parse(“2024-01-01”);
LocalDate endDate = LocalDate.parse(“2024-02-01”);

while(!startDate.isAfter(endDate)) {
if (dateList.stream().filter(date -> date.isEqual(startDate)).count() < 1) { // 補完する処理 } startDate.plusDays(1); } ``` StreamAPIを利用している行で以下のエラ

GmailEメール送信機能の実装

:::note info
個人的に作っているウェブサイトからメールを送信する機能を作るようになって記録します。
:::

1. build.gradle 作成
“`gradle
dependencies {
implementation ‘org.springframework.boot:spring-boot-starter-mail’
}
“`

2. 以下のURLからアプリパスワードを作成
https://accounts.google.com/v3/signin/challenge/pwd?continue=https://myaccount.google.com/apppasswords&service=accountsettings
![스크린샷 2024-02-07 17.59.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3567846/c51cecfd-f1ba-3161-dbf1-4e5ddf7fe10e.png

SpringでGoogleアカウントログインを実装する

現在自社開発を進めていますが、その中でGoogleアカウントでのログイン機能を実装したのでこの話をまとめました!
初めてだったのでウキウキです。

# 1. 目標

↓のような感じでボタンを表示させて

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3495456/0cdde7ad-ecb8-63a5-4ec8-72158fc5f7a2.png)

押下するとGoogleでのログイン画面を表示させる

![googlelogin.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3495456/be0a630e-abda-295d-6eb9-b262bda8c3c0.png)

Googleアカウントでログインして情報を受け取るところまでやっていきます!

# 2. 下準備(Google Cloud)

実装する前に一つ下準備が必要です。
Google Cloud(GCPって奴やな)でOAuth 2.0 ク

MinecraftのaccesstransformerのInfo

# はじめに
やぁやぁこんにちは。Never3924です。
今回はAccessTransformerについて。
これ日本語情報がほぼなくて困ってた。
1.20.4になるとなおさら…

# 本題
## AccessTransformerの場所
場所について解説。
“`
META-INF
┗accesstransformer.cfg
“`
ここに配置。
あと、build.gradleのminecraft -> accessTransformerオプションをコメントアウト。
ない場合はここにコードを貼っておくからコピペ。
`accessTransformer = file(‘src/main/resources/META-INF/accesstransformer.cfg’)`

## 中身
### テンプレ
テンプレート。
“`
<置き換えたいアクセス修飾子> <クラスパス> <番号>
“`
[アクセス修飾子](https://www.tohoho-web.com/java/modifier.htm)は
public
protected
default
private

Javaのエスケープシークエンス

# 始めに
Javaを含めた言語には単体では表示できない記号が存在します。

例えば”(シングルクォーテーション)や””(ダブルクォーテーション)はString型やchar型の宣言で使用される為、文字列中に入っているとエラーになってしまいます。

※文字列中に”が登場すると、そこが文末であるとみなされるのでエラーとなります。

エラーを回避しつつ、’や”を文字列中に表示する際、用いるのがエスケープシーケンスです。

# エスケープシーケンス

iso日時変換処理

import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.format.DateTimeParseException;
import java.util.Locale;

public class DateTimeConversionUtil {

private static final DateTimeFormatter FORMATTER = new DateTimeFormatterBuilder()
.appendOptional(DateTimeFormatter.ofPattern(“yyyy-MM-dd’T’HH:mm:ss[.SSSSSS]”))
.appendOptional(DateTimeFormatter.ofPattern(“yyyy-MM-dd’T’HH:mm:ss”)

掲示板プログラム

# 概要
この記事は、昔自分が独学で自作した掲示板プログラムを備忘録兼、誰かの役に立てばと思い記述しました

# 作成した掲示板サイト
スレッドを作成し、作成されたスレッドに対してそれぞれコメントを投稿できるシンプルな掲示板です。

http://hermit.games

# 工夫した部分
– コメントの投稿者名を指定する
– 投稿者名、コメント数の文字数を制限して、異常があれば投稿せず警告を表示する
– コメントの投稿時間、スレッドの更新時間、コメント数を表示する
– スレッドが作成されるたびに各スレッドの識別子を作成し、その識別子から各スレッドへ遷移する
– コメント部分と背景で色分けをしている
– スレッド作成時、確認ダイアログを表示する
– スレッド数が10個以上になるとページングで表示する
– スレッド内でページ最上部、最下部に移動するボタン
– スレッド作成ボタンとコメント書き込むボタンの表示が、カーソルが上にあるとボタンが押されたようにする

# データベース
![image.png](https://qiita-image-store.s3.ap-northeast-

Java(FW:Spring)の為の環境構築

簡単な新規アプリ作成のために環境構築したら、
えらい大変だったので、その過程の学びを共有します。

# 結論
https://willbrains.jp/
↑ここから該当するものをダウンロードして下さい。
下記の4つ全部入りなのでそのまま使えます。

そして何が何のために必要なのかチンプンカンプンだったので、
まとめました。

**OpenJDK(Java Development Kit):**
オープンソースのJava開発キットであり、Javaアプリケーション開発に必要なコンパイラやライブラリなどが含まれています。

**STS (Spring Tool Suite):**
Spring開発に特化したEclipseベースのIDE(統合開発環境)で、Springプロジェクトのセットアップやテスト、デバッグを容易にします。Spring Bootなどのフレームワークとの統合が強化されており、開発の効率化を図れます。

**Pleiades:**
Eclipseの日本語化プラグインで、IDE(統合開発環境)のメニューやオプションを日本語表示に変更することができます。

**Eclipse:*

エスケープシーケンスの具体例
表記 意味
¥’ ‘(シングルクォーテーション)
¥” “(ダブルクォーテーション)
¥¥ ¥(円記号)