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

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

javaでFizzBuzzゲームを実装してみた

## 概要
今回はjavaでFizzBuzzゲームのコードを書いてみました。
練習用で記述していますのでご承知ください。

#### ソースコード
実行用クラスです。
“`Main.java

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

System.out.println(“Fizzbuzz–>start”);
Cal parts = new Cal();
parts.init();//Fizzbuzzゲームの説明
input_num = parts.get_num();//標準入力で整数値(1-99)を取得する
System.out.println(“Fizzbuzz–>input_num:” + input_num);
parts.judge(input_num);//5の倍数:Fizz,5の倍数:Buzz,15の倍数:FizzBuzzかの判定

元記事を表示

Java Gold 例題 同期制御

“`java
package threadTest;

public class SynchronizeTest {
public static void main(String[] args) {
Market market = new Market();
ThreadFirst tf = new ThreadFirst(market);
ThreadSecond ts = new ThreadSecond(market);
tf.start();
ts.start();
}
}

class ThreadFirst extends Thread {
private Market market;
public ThreadFirst(Market m) {
market = m;
}
public void run() {
for(int i = 0; i < 4; i++) { int num = (int)(Math.random() * 10 + 1); market.wholesale(num); } } } cl

元記事を表示

ABC361A~D、Fの解答[Java]

## はじめに
今回はコンテスト中にDまで、コンテスト後にFが解けたのでそれを載せようと思います。

なお、僕のライブラリは[GitHub](https://github.com/viral8code/viral-Library)よりご確認ください。
では、見ていきましょう。

## A – Insert
問題文は[こちら](https://atcoder.jp/contests/abc361/tasks/abc361_a)

挿入位置手前までを受け取って出力し、挿入したい値を出力、あとは残りの配列を受け取って出力しました。
“`A.java
final class Main{
private static final boolean autoFlush = false;
private static final SimpleScanner sc = new SimpleScanner(System.in);
private static final SimpleWriter out = new SimpleWriter(System.out,autoFlush);

pub

元記事を表示

ABC360A~E、Gの解答[Java]

## はじめに
今回はA~EとGをコンテスト中に解けたので、それをそのまま載せようと思います。

なお、僕のライブラリは[GitHub](https://github.com/viral8code/viral-Library)よりご確認下さい。
では、見ていきましょう。

## A – A Healthy Breakfast
問題文は[こちら](https://atcoder.jp/contests/abc360/tasks/abc360_a)

`String`の`indexOf`メソッドを用いるとインデックスを得ることができるので、これを使って位置の判定を行ないました。
“`A.java
final class Main{
private static final boolean autoFlush = false;
private static final SimpleScanner sc = new SimpleScanner(System.in);
private static final SimpleWriter out = new SimpleWriter(Sys

元記事を表示

SpringBootのapplication設定をAWSパラメータストアで行う

## はじめに

* DBアクセス用パスワード等の秘匿情報を設定ファイルに記載しておくのは管理上好ましくないので、AWSパラメータストアで管理するにあたり、Spring Bootアプリケーション設定値(application.yml/application.properties)にパラメータストアの設定値を統合(パラメータストアの値をアプリケーション設定値に反映)する作業を行いました。

* 本番と開発の設定を分離している点と合わせて手順等を備忘録としてまとめたものです。(乱筆な点、ご容赦ください)

### 注意点

* 実際の設定ファイルの値とは変えている個所がありますので、この値そのもので動作検証して保証したものではありません。

## 環境

* Spring Boot 3.1.0
* Java 17
* gradle 8.8

## 依存関係の追加

まず、Spring BootプロジェクトにAWSパラメータストアを使用するための依存関係を追加します。`build.gradle`ファイルに以下のエントリを追加します。

“`groovy
dependencies {

元記事を表示

Javaで「複数の文字列のいずれかにマッチするパターンを記述する」の動作を確認してみた

# 概要

Javaで「複数の文字列のいずれかにマッチするパターンを記述する」の動作を確認してみました。
以下のページを参考にしました。

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

# 実装

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

class JSample12_1{
public static void main(String[] args){
String regex = “blue|Blue”;
Pattern p = Pattern.compile(regex);

Matcher m1 = p.matcher(“My favorite color is blue”);
System.out.println(m1.find()); // true

Matcher m2 = p.matcher(“bluebird weather”);
System.out.println(m2.

元記事を表示

JPAの永続性コンテキストとEntityManagerについてご説明いたします

## 入る前に
– 私は韓国人として、日本語の勉強とコンピュータの勉強を同時に行うために、ここに文章を書きます
– 翻訳機の助けを借りて書かれた文章なので、誤りがあるかもしれません
– この内容は基本的にJPAを知っていて、初めて入門する方に向けて作成されました

## パーシステンスコンテキストとは? (Persistence Context)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3815412/1372697a-2a85-3e09-f5c1-2ef5210243fa.png)

>永続コンテキストは、一意のエンティティインスタンスが任意の永続的なIDに対して存在するようなエンティティのセットです。永続コンテキスト内では、エンティティが管理されます。EntityManagerはそのライフサイクルを制御し、エンティティはデータストアリソースにアクセスできます。
永続コンテキストが終了すると、以前管理されていたエンティティはデタッチされます。デタッチされたエンティティ

元記事を表示

【個人メモ】Eclipse Javaプロジェクトの各画面と設定ファイルの関係性について

### プロジェクトの「Properties」→「Project Facets」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802944/617f6752-4d71-616e-ade7-2a650caa4033.png)

“` xml:org.eclipse.wst.common.project.facet.core.xml


~略~



~略~

“`

————————————————–

元記事を表示

あんまり使わない演算子のメモ

# はじめに
普段使う演算子に”+”や”+=”,”<"などのものを多く使う印象が強いですが、 ふと、目にしないものを見たときに頭の中で?マークが浮かんでしまい、混乱してしまいました。 なので、あまり見ないものを調べたのでその内容をメモがわりに記事にしておこうと思います。 # あまり見ない演算子一覧 |演算子|意味|内容| |:---|:---|:--| |&|x & y|0と1の論理積| |l|x l y|0と1の論理和| |^|x ^ y|0と1の排他的論理和| |~|~x|ビット反転| |<<|x << y|左へビットシフト(符号無し)| |>>>|x >>> y|右へビットシフト(符号あり)|

**論理積**
いずれも真のときに真となり、それ以外のときは偽となるもの

**論理和**

ずれか少なくとも一つが真であること

**排他的論理和**
どちらか片方が真でもう片方が偽の時には結果が真となり、両方とも真あるいは両方とも偽の時は偽となる

**ビット反転**
各ビットの値を0ならば1に、1ならば0に反転する

**ビットシフト**
ビット列の中身を左右にシフトする操作の

元記事を表示

宝くじ (paizaランク C 相当) Java解答例

# 問題文
https://paiza.jp/works/mondai/c_rank_skillcheck_archive/lottery

# 解答例
“`java
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
int b = scanner.nextInt();
int n = scanner.nextInt();
for (int i = 0; i < n; i++) { int a = scanner.nextInt(); if (a == b) { System.out.println("first"); } else if ((a + 1) == b || (a - 1) == b) { System.out.println("adjacent"); } else if (

元記事を表示

野球の審判 (paizaランク C 相当) Java解答例

# 問題文
https://paiza.jp/works/mondai/c_rank_skillcheck_archive/umpire

# 解答例
“`java
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
int n = scanner.nextInt();
int ballCount = 0;
int strikeCount = 0;
for (int i = 0; i < n; i++) { String s = scanner.next(); if (s.equals("ball")) { ballCount++; if (ballCount >= 4) {
System.out.println(“fourball!”);
} else {
Syst

元記事を表示

みかんの仕分け (paizaランク C 相当) Java解答例

# 問題文
https://paiza.jp/works/mondai/c_rank_skillcheck_archive/mikan

# 解答例
“`java
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
int n = scanner.nextInt();
int m = scanner.nextInt();
for (int i = 0; i < m; i++) { int w = scanner.nextInt(); int result = w / n * n; if (result == 0) { result = n; } else if ((w - result) >= (result + n – w)) {
result += n;
}
System

元記事を表示

Fizz Buzz (paizaランク C 相当) Java解答例

# 問題文
https://paiza.jp/works/mondai/c_rank_skillcheck_sample/fizz-buzz

# 解答例
“`java
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
int n = scanner.nextInt();
for (int i = 1; i <= n; i++) { if (i % 3 == 0 && i % 5 == 0) { System.out.println("Fizz Buzz"); } else if (i % 3 == 0) { System.out.println("Fizz"); } else if (i % 5 == 0) { System.out.println("Buzz"); } else {

元記事を表示

【殿堂入りキャンペーン】残り物の量 (paizaランク C 相当) Java解答例

# 問題文
https://paiza.jp/works/mondai/c_rank_skillcheck_archive/leftover

# 解答例
“`java
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
float m = scanner.nextFloat();
float p = scanner.nextFloat();

float temp = m – (m * p / 100.0F);

float q = scanner.nextFloat();
System.out.println(temp – (temp * q / 100.0F));
}
}
}
“`

# 補足
– m, p, qは全て整数だが、最終的に実数の計算を行うため初めからfloatとして取得して計算している
– 当然in

元記事を表示

Javaで「直前の文字を繰り返す文字列にマッチするパターンを記述する」の動作を確認してみた

# 概要

Javaで「直前の文字を繰り返す文字列にマッチするパターンを記述する」の動作を確認してみました。
以下のページを参考にしました。

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

# 実装

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

class JSample10_1{
public static void main(String[] args){
String regex = “Ha*n”;
Pattern p = Pattern.compile(regex);

Matcher m1 = p.matcher(“Hn”);
System.out.println(m1.find()); // true

Matcher m2 = p.matcher(“Han”);
System.out.println(m2.find()); // true

Matcher m3 = p.m

元記事を表示

Java Gold 例題 MessageFormat, ResourceBundle

以下のプロパティファイルがあります。
`MyResources_en_US.properties`
“`
message = Hello {0}. My name is {1}. I want to drink {2}. Can you tell me where I can buy it? thank you {3}.
“`
次のコードの`insert code`にどのコードを入れると、
次の出力結果が表示される選択肢はどれでしょうか。
“`java
import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle;

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

Object[] paramsUS = {
“Jhon”,
“Kate”,
“water”,
“see you again”
};

ResourceBu

元記事を表示

20分でわかる? JavaのInterfaceの基本

# サンプルコード
本記事ではゲームプログラムっぽいサンプルコードとともに、Interfaceそのもの・呼ばれる側・呼ぶ側の解説をする。Interfaceって何?という方向けの記事です。
## Interfaceファイル
メソッド(ふるまい)の定義を記載したファイル。
クラスではない。
“`ゲームプログラムっぽいもの①.java
/** プレイヤーがアクセス可能である。*/
public interface アクセス可能なもの{

/** アクセスされたときのふるまい。*/
public void アクセスする();
}
“`
上記の通り、メソッドの中身も空っぽでよく、
メソッドの定義(平たく言うと、呼び出し方)さえ書かれていればOK、というのがInterface。

乱暴に言うと、中身空っぽの定義ファイルである。
## Interfaceとして呼び出される側(Interfaceの実装クラス)
Interfaceは他のクラスに実装(Implement)されることで、使えるようになる。
“`ゲームプログラムっぽいもの②.java
public class 宝箱 i

元記事を表示

SpringAIで、テキストをエンベディングしてPineconeに登録してみたが。

## はじめに
SpringAIは、SpringBootを活用してAIアプリケーションを開発するためのフレームワークで、AIモデルプロバイダーや、ベクトルデータベースプロバイダーとの接続をサポートしている。この度は、OpenAIのモデルでテキストのエンベディングを行い、ベクトルデータベースPineconeに生成したベクトルの登録を確認した。
【参考】
https://docs.spring.io/spring-ai/reference/index.html

の情報では、プロパティファイルに接続情報を記載するのみで動作するはずだが、Embeddingがうまくできず、Javaのクラスに接続情報を記載した。

## 環境
* Windows11
* Java 17
* SpringAI 1.0.0-SNAPSHOT

## 事前に必要なもの
* PineconeのIndex
* エンドポイントのURL
* APIキー
* OpenAIのAPIキー

## 依存関係の追加
Mavenプロジェクトで実行しており、pom.xmlの依存関係には、次のものを追加した。
“`xml

元記事を表示

演算子(余り)&練習問題

# 演算子(余り)

%(余り、4%2→4を2で割ったあまりを求める)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680113/393db12b-327f-6cf4-4e90-7abc99814094.png)

# 練習問題

元記事を表示

Javaで「最長一致数量子、最短一致数量子、強欲な数量子の違い」の動作を確認してみた

# 概要

Javaで「最長一致数量子、最短一致数量子、強欲な数量子の違い」の動作を確認してみました。
以下のページを参考にしました。

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

# 実装

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

class JSample11_1{
public static void main(String[] args){
String regex = “AB+”;
Pattern p = Pattern.compile(regex);

Matcher m = p.matcher(“ABBBC”);
if (m.find()){
System.out.println(m.group()); // ABBB
}
}
}
“`

以下のコマンドを実行しました。
“`
$ javac JSample11_1.java
$ java JSample11_1

元記事を表示

OTHERカテゴリの最新記事