JAVA関連のことを調べてみた2023年10月01日

JAVA関連のことを調べてみた2023年10月01日
目次

【Java入門】Calendarクラスで日付を操作する方法(getメソッド,setメソッド,addメソッド,rollメソッド)

# Calendarクラス

### ・Calendarクラスとは
 現在の年月日を取得したり、指定した日時の設定や加算・減算、日時を比較するなど、日時を扱うさまざまな処理が可能なクラスです。
 使用するには以下のパッケージを取得する必要があります。

“`java:パッケージのインポート
import java.util.Calendar
“`
 
 また生成の方法は、抽象クラスのためnew演算子でオブジェクト生成はできず、`getInstance()`メソッドをを使用して生成します。
“`java:Calendarクラスの生成
Calendar cl = Calendar.getInstance();
“`
 getInstanceメソッドは、オブジェクトを生成する度に、現在の年・月・日に初期化された状態でオブジェクトを返します。getInstance()は、クラスメソッドでコンピューターの設定に合わせて適切なカレンダーを取得します。(大体はグレゴリオ暦なのでGregorianCalendarのインスタンスが入ります。)

### ・get()メソッドで日付を取得する
 こ

元記事を表示

Javaで「格納されている文字列の長さを取得する」の動作を確認してみた

# 概要

Javaで「格納されている文字列の長さを取得する」の動作を確認してみました。以下のページを参考にしました。

https://www.javadrive.jp/start/stringbuilder/index6.html

# 実装

以下のファイルを作成しました。
“`JSample6_2.java
class JSample6_2{
public static void main(String[] args){
StringBuilder sb = new StringBuilder();

System.out.println(sb.toString());
System.out.println(“length:” + sb.length());
System.out.println(“capacity:” + sb.capacity());

System.out.println(“– –“);

sb.append(“Hello, Tarou.”);
System.out.println(sb.t

元記事を表示

【Java入門】日付を取得する方法(Date,Calendar,GregorianCalendar)

# Dateクラスで現在日時を取得する

### Dateクラスとは
 現在日時の取得ができます。
 new演算子で初期化できます。

### Dateクラスの使い方
 new演算子で初期化できます。
 コンストラクタによって現在日時(年月日、曜日、時間)で初期化します。

“`java:Dateクラス
import java.util.Date;

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

// Dateクラスを生成
Date date = new Date();

// 現在の日時を出力
System.out.println(date);

}
}
“`
“`:実行結果
Sat Sep 30 16:41:26 JST 2023
“`

# Calendarクラスで現在日時を取得する

### Calendarクラスとは

 現在日時の取得に加えて日付の計算、日付の指定ができます。
 抽象クラスであるため、new演算子で初期化ができません。

### Calendarク

元記事を表示

[リサーチ・メモ] jsonファイルの取り扱い

## 使用方法

“`
File file = new File(パス); //ファイルを読み取る
ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(file); //特定のデータを抽出する為にJsonNode型に変換する
int status = root.get(“status”).intValue(); //jsonファイルのkey:statusのvalueをint型で取得する
“`

元記事を表示

[学習メモ] Javaのコレクション HashSet, ArrayList, HashMapの違い

Javaのコレクション、HashSet, ArrayList, HashMapについて、使い方の違いなどざっくりまとめ。※HashMapは正確にはコレクションではないもよう

勉強中なので随時更新予定。
# 主なコレクションの違い

– ArrayList  :配列に似ている。同じ要素が複数入っていてOK。
(例. [りんご, りんご, みかん] )

– HashSet  :Listの要素の重複ダメバージョン。
(例. [りんご, みかん バナナ])
– HashMap :”キー”と要素をセットで保持する。
(例.キー: ”算数” 要素: 100 → {算数=100, 国語=80…} )

# 主なメソッド(の違い)
コレクションの種類によって、同じような操作をする場合でも、メソッド名が変わってくる場合がある。
– 同じでいいもの
– 要素の取得  get() ※Setでは不可 (そもそも個別取得はできない。forEachはできる)
– 要素の削除  remove( )
– 大きさの取得  size()
・・

元記事を表示

Javaで「文字列や他の値を追加する」の動作を確認してみた

# 概要

Javaで「文字列や他の値を追加する」の動作を確認してみました。以下のページを参考にしました。

https://www.javadrive.jp/start/stringbuilder/index1.html

# 実装

以下のファイルを作成しました。
“`JSample1_2.java
class JSample1_2{
public static void main(String[] args){
StringBuilder sb = new StringBuilder();
sb.append(“Hey”);
sb.append(75.2);
sb.append(18L);
sb.append(true);

System.out.println(sb.toString());
}
}
“`

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

# まとめ

何かの役に立てばと。

元記事を表示

Spring AI フレームワークを触ってみた

# Spring AI フレームワークを触ってみた

某ワークショップに参加したとき、Spring を使った Azure Open AI を使ったサンプルがあったのですが、ソースをみていると Spring Framework 自身が Open AIに対応しつつあるようなので触ってみました。

このあたり [Spring AI :: Spring AI Reference](https://docs.spring.io/spring-ai/reference/index.html) あたりの話だと思います。

実験的な機能で今後変わる可能性がありますので、ご注意ください。

## 事前準備

手順にならって、 Spring CLI を使って準備をしますが、まずは Spring CLI をセットアップします。

以下で、`git clone` してビルドします。

“`sh
git clone https://github.com/spring-projects-experimental/spring-cli $HOME/temp/spring-cli
cd $HOME/temp/sp

元記事を表示

SpringBootでREST APIを実装してみた

今回はSpringBootでREST APIを実装してみます。

## 動作環境

MySQL:8.0
SpringBoot:3.1.4
Java:17

## APIのインターフェース

今回実装するAPIのインターフェースは下記になります。

| endpoint | method | note |
|:————————-|:——-|:————-|
| {host}/api/users | POST | ユーザーの作成|
| {host}/api/users/ | GET | ユーザー全件取得 |
| {host}/api/users/:id | GET | 指定したIDのユーザーを取得 |
| {host}/api/users/:id | PUT | 指定したIDのユーザー情報を変更 |
| {host}/api/users/:id | DELETE | 指定したIDのユーザーを削除 |

#

元記事を表示

Javaで「StringBuilderオブジェクトの作成と基本的な使い方」の動作を確認してみた

# 概要

Javaで「StringBuilderオブジェクトの作成と基本的な使い方」の動作を確認してみました。以下のページを参考にしました。

https://www.javadrive.jp/start/stringbuilder/index3.html

# 実装

以下のファイルを作成しました。
“`JSample3_1.java
class JSample3_1{
public static void main(String[] args){
StringBuilder sb = new StringBuilder();
sb.append(“watch’s price is “);
sb.append(100);
sb.append(” yen.”);

System.out.println(sb.toString());
}
}
“`

以下のコマンドを実行しました。
“`
$ javac JSample3_1.java
$ java JSample3_1
watch’s price is 100 yen.
“`

元記事を表示

スッキリわかるJava入門 実践編 第3版 まとめ – part6 -ファイル操作の前提知識

# はじめに
こんにちは ◤●ㅅ●◥ノ

今回はファイル操作について学びました!

## 第6章 ファイルの操作
### 1.ファイル操作の事前知識
ファイルとは
データをコンピュータに記憶させる時の基本単位のこと

ファイルの読み書きは必ず以下の順序で行う
手順を守らないと致命的な不具合につながる
1.「最初に1回」ファイルを開く
2.「必要な回数」ファイルのデータを読み込み、書き込み
3.「最後に1回」ファイルを閉じる

ファイルの読み込み、書き込み方法の種類
・ランダムアクセス
 ファイルのあちこちに読み書きをする方法
・シーケンシャルアクセス
 ある場所から連続して少しずつ読み書きする方法

### 2.テキストファイルの読み書き
ファイルに文字情報を書き込む
→java.ioパッケージのFileWriterクラスを利用する
※必要な情報を書き込んだらファイルを閉じる前に必ずflush()を呼び出す
→呼び出さないとファイルに正しくデータが書き込まれないことがあるため

ファイルの先頭から1文字ずつデータを読み取る
→java.ioパッケージのFileReaderクラスを利用す

元記事を表示

【Android/Java】Cognitoで認証をするときのメモ

## Cognitoでユーザーのセッション状態を確認する
“`java
try {
// Amplify プラグインの追加と初期化
Amplify.addPlugin(new AWSCognitoAuthPlugin());
Amplify.configure(getApplicationContext());
Log.i(“MyAmplifyApp”, “Initialized Amplify”);

// ログイン状態の確認
Amplify.Auth.fetchAuthSession(
result -> Log.i(“AmplifyQuickstart”, result.toString()),
error -> Log.e(“AmplifyQuickstart”, error.toString())
);
} catch (AmplifyException error) {
Log.e(“MyAmplifyApp”, “Could not initialize Amplify”, erro

元記事を表示

javaのラムダ式を自分なりに解釈してみた

# はじめに
ラムダ式とは、java8から追加されたプログラムの記述方式のことです。その中でよくわからない部分が少しあったので自分なりに解釈してみました。

まず最初に、この手の記事を調べるときに出てくるワード「匿名クラス」「関数型インターフェース」について説明し、そのあとラムダ式の説明をします。

# 匿名クラスとは
インターフェースの実装をせずに「クラス宣言」「インスタンス生成」を行える便利なものだと解釈します。通常はインタフェースの実装を行い、メソッドを呼び出すコードを書くので、通常と比べるとはるかに楽ですが、可読性が少し下がるような気がします。

# 関数型インターフェースとは
抽象メソッドを1つだけもつインターフェースのことを指します。メソッドをインターフェースのような扱いができるので便利です。

# ラムダ式とは
関数型インターフェースを実装したインスタンスを生成する式と言え、匿名クラスを使用するより可読性が高いものになります。イメージでいうと下記の形になります。
`インターフェース 変数 = (引数) -> {処理}`

# ラムダ式の例
上記の匿名クラスや関数型インタ

元記事を表示

VSCodeでJavaのセットアップ~Windows編~

VSCodeの公式にセットアップ方法が載っていました!
https://code.visualstudio.com/docs/languages/java#_install-visual-studio-code-for-java
※英語です

私の場合、VSCodeはインストール済みなので、拡張機能とJDKのインストールのみでした。
VSCodeからインストールする場合は、まとまったパックがある。
「Install the Coding Pack for Java – Windows」というボタンからインストール可能。

1. JDKをインストール
https://www.oracle.com/java/technologies/downloads/#jdk21-windows
今回は最新版の21のWindows版をインストール
1. 「Install the Extension Pack for Java」ボタンより、拡張機能のセットを一式インストール

元記事を表示

Agora SDKでリアルタイムコミュニケーション

# Agora SDKの概要と機能

Agora SDKは、リアルタイムコミュニケーションを実現するためのプラットフォーム。SDKは、ビデオ通話、音声通話、メッセージングなどのさまざまな通信機能を提供します。以下にAgora SDKの主な機能を詳しく説明する。

1. ビデオ通話:
– ビデオキャプチャとディスプレイ: カメラや画面の共有を実現するための機能
– オーディオ/ビデオコーデック: 高品質なオーディオ/ビデオストリームのエンコードおよびデコードをサポート
– リアルタイム映像処理: ビデオフィルターや仮想的な背景などのリアルタイム映像処理を実現する機能
– レコーディングとプレイバック: ビデオ通話の録画および再生をサポート

2. 音声通話:
– 音声コーデック: 高品質な音声ストリームのエンコードおよびデコードをサポート
– ノイズおよびエコーキャンセル: 音声品質を向上させるためのノイズおよびエコーキャンセル機能
– オーディオミキシングと変換: 複数の音声ストリームをミキシングしたり、サンプルレートを変換したりする機能

3

元記事を表示

Javaで「日時のエポックからのUTCミリ秒値を取得する」の動作を確認してみた

# 概要

Javaで「日時のエポックからのUTCミリ秒値を取得する」の動作を確認してみました。以下のページを参考にしました。

https://www.javadrive.jp/start/calendar/index6.html

# 実装

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

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

Calendar calendar1 = Calendar.getInstance();

System.out.println(“日時1を2006/05/08 09:45:10に設定します”);
calendar1.clear();
calendar1.set(2006, 4, 8, 9, 45, 10);
long millis1 = calendar1.getTimeInMillis();
System.out.println(“エポ

元記事を表示

エラー対処:com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException

バージョン情報
jdk 17
LibreOffice v4.6.1
jodconverter-local v4.4.6

jodconverter-localを用いてwordファイルをpdfに変換するときに次のエラーが出ました。

“`
ERROR [2023-09-08 16:23:47,615] org.jodconverter.local.task.LocalConversionTask: Local conversion failed.
! com.sun.star.uno.RuntimeException:
! at com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:173)
! at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:139)
! at com.sun.star.lib.uno.environments.remote.JobQueue.enter(Jo

元記事を表示

JavaとGridDBによるシンプルなデータ可視化ツールの作成

本記事では、主にGridDBのデータセットをWebプロジェクトで開発し、動的な可視化を実現する方法について紹介します。プロジェクトのソースコードは、GitHubにアップロードされています。

プロジェクトが実行された後、ローカルコンピュータのブラウザにアドレス http://127.0.0.1:8080 を入力します。スクリーンショットのアニメーション効果は次のとおりです。

[][1]

Technology Stack
Operating System: Ubuntu-18.04.6
Front-end: HTML, JavaScript,

元記事を表示

JavaでシンプルToDoアプリを作る

# はじめに
この記事はJavaの基礎知識を学習する目的で作成したToDoアプリに関するクラスやメソッドの解説記事になります。データベースを使用しないため、入力と出力はeclipseのコンソール上で完結しています

## プロジェクトを新規作成する

今回作成するプロジェクトの名前は`ToDoList`とします。以降の操作方法はeclipseを使用する前提で解説をしています。

新規プロジェクトを作成するウィザードを起動して、`Javaプロジェクト`を作成します

![スクリーンショット 2023-09-27 16.31.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2765288/3056c86c-dcb3-d604-4cda-9efbe4193756.png)

## パッケージを作成する

新規作成したプロジェクトへすぐさま`クラス`を記述するJavaファイルを配置することは推奨されていないため、関連するクラスをまとめるためのフォルダ(ディレクトリ)であるパッケージを作成します。

パッケー

元記事を表示

【初心者】Java基礎 練習問題

# Q1
クラス名:自由

備考:変数は使用しないこと

内容:
以下の内容でプログラムを作成し、標準出力を行う。
私の名前は、〇〇です。(〇〇には任意の文字列を表示)
私は、〇〇歳です。(〇〇には任意の年齢を表示)

# Q2
クラス名:自由

備考:変数は使用しないこと

内容:
以下の内容でプログラムを作成し、標準出力を行う。
10進数の20を10進数を用いて表示。
10進数の20を8進数を用いて表示。
10進数の20を16進数を用いて表示。
出力文字列:
10進数を使った20の値を表示。
8進数を使った20の値を表示。
16進数を使った20の値を表示。

# Q3
クラス名:自由

備考:変数は使用しないこと

内容:
以下の内容でプログラムを作成し、標準出力を行う。
①「~~~Hello Java~~~」と出力

②右の側の各リテラルを使用して標準出力を行う。
abc = 文字列
x = 文字
111 = 数値
111.234 = 数値
777 = 文字列
3.14 = 文字列

③エスケープシーケンスを使用して「HelloJava」を
「Hello Java」と標準出

元記事を表示

Gradle x JavaをKotlinに浮気させる

こんにちは。 株式会社クアンドのhakatakinocoです。

私たちの会社では、遠隔支援で現場の判断を加速するSynQ Remote(シンクリモート)というサービスを開発しており、バックエンドをKotlinで作成しています。
いわゆるサーバーサイドKotlinです。

![synqremote_kotlin.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193036/ba3e9107-53a8-fe61-3ca6-f6d50a151847.png)

JavaからIT業界に入門&修行し、JavaJavaの実を食べたJava人間になった私でもKotlinは扱いやすく、文法も簡素で可読性が高い
かつ、古くから受け継がれた大量のJavaライブラリがほぼ全て使える素敵な開発体験を得られました٩( ‘ω’ )و

そんな素敵なKotlinですが、いざサーバーサイドで使おうとすると意外と本格的な導入事例は少なく、ちょっと勿体無いな〜と思ったので `既存のJavaシステムにだって段階的にKotlinに置き換えてい

元記事を表示

OTHERカテゴリの最新記事