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

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

Java 引数設定方法

複数引数の場合、space で記載
例:AAA BBB

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlの算術演算子の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlの算術演算子の比較

# Python

https://qiita.com/G-Rape/items/cd3f2f284ba990164564

# Ruby

https://qiita.com/SUZUKI_Masaya/items/eeea6cd36cc265d2dbf0

# PHP

https://qiita.com/mzmz__02/items/8bfbcf2cd48d9e9f2806

# Java

https://qiita.com/morioheisei/items/63088c61e8234dc1f7f5

# JavaScript

https://qiita.com/uhyo/items/cc92a553059274d85403

# Perl

https://perlzemi.com/blog/2

元記事を表示

【android】各パッケージについて

## パッケージについて
androidstudioをインストールして、プロジェクトを作成してみました。
メモ程度に何のファイルがあるのか書いてみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2689436/cd29a3d4-616d-8e08-bb15-f2c3db23378b.png)

### java
“`java:MainActivity.java
package com.example.helloworld;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {

元記事を表示

E2EテストのテストをExcelでケース書いたら(ほぼ)テストコードを書かなくてもテストを自動でやってくれるツールを作ってます

# このドキュメントは?
テストの自動化のハードルが高い方々に向けて、まず最初の一歩を踏み出しやすくするためのツールを作ろうと日々少しずつ作っていて、最低限の機能は出来たと思うので晒してしまう記事です。
ツールそのものはまだまだ追加したい機能もあるし、リファクタリング全然できてないし、テストコードも書ききれてないし、ツールの説明も足りない状態なのですが

*Done is better than perfect.*

と、マークザッカーバーグ氏もおっしゃっているので、途中でも公開してしまって進めていこうかな。というテストツールの第一歩の紹介記事です。

ツール自体はGithubで公開していて、使い方などはWikiの方で載せていく予定ですが、「Githubは見れないけどQiitaなら見れる」というような謎環境の方もいるかもしれないので、ある程度はこちらでも記載していこうと考えています。

# ツールの紹介
## Kubera(仮名) とは
「クベーラ」と読みます。E2Eテストの自動化を簡単に作成、実施できるようにするための自動化サポートツールです。
決められたルールに従って作成された

元記事を表示

Javaで何か作ってみる(2022/10/23 Day3)

## 今日やった事
– VSCodeでJavaプログラムが実行出来るように開発環境を構築した。
– VSCode上で、**Hello Java!** を実行出来た。
## 参考にしたもの
– [Visual Studio CodeでJavaプログラム開発環境構築](https://qiita.com/jsj05543/items/da54e5db258bc9d2538a)
→ ググった時に出てきたQiitaの投稿。シンプルでわかりやすく、非常に助かった。
## 所感
– 今日も朝からバタバタしており、日中の勉強時間の確保が出来なかった。
→ もう一層の事、「寝る前にやる」って決めてしまってもいいかもしれない。。。
– 以前参加していた勉強会の時に使っていた、SVNのプロジェクトが残っていて、それを削除するのに時間かかった。
→ 最近は、gitばかりで、svnのやり方を忘れてた。ただ、ルートの.svnを削除するだけで良かった。。。
## 明日の予定
– 明日は、午後に、例のお注射で、ぐったりするかと思うので、ぼちぼちやろうと思う。

元記事を表示

【Java】実は難しいIntegerの配列(1~Nまでの初期化)

# はじめに
そもそもJavaで`Integer`の配列を扱うことは少ないと思います。
`java.util.List`を使うほうが一般的です。これは`Integer`の配列をどうしても生成したかったため、筆者が試した記録です。

# 基本的な定義方法
要素数3の`Integer`配列の定義は以下のようになります。
“`java:要素数3のInteger配列の定義
Integer[] numbers = new Integer[3];
“`
このときの配列の中身は`null`が並びます。
“`java:出力
Integer[] numbers = new Integer[3];
Arrays.stream(numbers).forEach(System.out::println);
“`
“`:出力結果
null
null
null
“`
# 1~NまでのInteger配列を作る
単純にやるのであれば以下の方法でいけます。
“`java:1~Nまでの配列を作るメソッド
private Integer[] createNumbers(int n){
Integer[]

元記事を表示

Lucene で simpleTextCodec がどう生成されるか見てみる。

Lucene の IndexWriter を最初に調べていた時、codec とか意味不明な言葉が多すぎたので、まとめました。

## Lucene の simpleTextCodec とは?
lucene の Codec とは、インデックスファイルの読み書きをする機能ですが、その中でも一番内容が分かりやすいものになっているのが、simpleTextCodec です。
lucene では addDocument をする度に、インデックスファイルの内容を初期化かするかファイルの内容を追加します。
simpleTextCodec は例えば下のようなコードをすると、`lucene-plaintext` のフォルダの直下にインデックスファイルが生成されます。これを行っているのが、simpleTextCodec です。
※ ちなみに、デフォルトの codec である lucene94 (2022/10/23現在)ではインデックスファイルはバイナリファイルになります。

“`diff_java
import java.util.ArrayList;
import java.util.Arrays;

元記事を表示

ABC274A~Eの解答[Java]

## はじめに
今回はA~Dがコンテスト中のもの、Eは公式解説を見ながら実装したものです。

では、見ていきましょう。

## A – Batting Average
問題文は[こちら](https://atcoder.jp/contests/abc274/tasks/abc274_a)

printfを使えば良さそうですね。
“`A.java
class Main{

static Library System = new Library(java.lang.System.in,java.lang.System.out);

public static void main(String[] args){

//A、Bの受け取り
int A = System.in.nextInt();
int B = System.in.nextInt();

//小数点第3位まで表示
System.out.printf(“%.3f”,(double)B/A);

System.out.close();
}
}
“`
四捨五入されるの今回初めて知りました。便利

元記事を表示

Springの @Scheduled について

# 概要

Springが提供している [@Scheduled](https://spring.pleiades.io/spring-framework/docs/current/javadoc-api/org/springframework/scheduling/annotation/Scheduled.html)について調べたので、そのメモを残す。

下記のversionで検証を行った。
– Java17(Corretto 17.0.5)
– SpringBoot2.7.5

検証コードは下記に格納している。
https://github.com/nannany/spring-scheduled

# `@Scheduled`とは?

`@Scheduled`アノテーションをメソッドに付与することで、メソッドの定期的な実行を行うことができる。
例えば、下記のようなメソッドは`fixedRate_withTimeUnit`という文言を1分ごとに標準出力する。
“`java
@Scheduled(fixedRate = 1, timeUnit = TimeUnit.MINUT

元記事を表示

Javaインストールから実行まで【超初心者向け】

## javaのインストールから実行までを簡単なコードを作成して試した際のメモ
## 環境
– Windows10
– Java 19.0.1

## 流れ
– Javaのインストール
– 環境変数の設定
– プログラム作成
– プログラム実行

### Javaのインストール

まずはJavaの「Java JDK」をダウンロードします。

#### 補足
– Java JDK(Java JREが含まれている)
プログラミング・開発に必要なもの
– Java JRE
Javaを実行時にひつようなもの

下記のダウンロードページにて、「x64 Installer」をインストールします。

ダウンロードページ
https://www.oracle.com/jp/java/technologies/downloads/#jdk19-windows

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1193125/1aa23861-2b36-10f0-e946-fde88f9fb9cf.png

元記事を表示

Javaで何か作ってみる(2022/10/22 Day2)

## 今日やった事
– Windows環境に、Java開発環境を構築した。
## 参考にしたもの
– [【超絶丁寧解説】Javaプログラミングをゼロから学ぶ!絶対挫折させない「基礎入門」講座【講師評価4.3】](https://www.udemy.com/course/uz-java-kiso/)
→ Javaの勉強に使用しているUdemyの動画教材。
まだ序盤しか見ていないが、環境構築で、「EclipseをインストールするだけでOK」で、
済ませすに、JDKを使って環境構築する方法や、JDKの歴史等を解説してくれていて、
とても親切。声も聞き取りやすい。
– [Java環境構築(Adoptium(旧:AdoptOpenJDK))](https://zenn.dev/sasakiki/articles/54f68ee1576380)
→ 上記 動画教材で、AdoptOpenJDKを紹介しているが、名前が変わっていて、
「あれ、違うぞ?」と思って、調べたら見つかったサイト。
とても分かりやすか

元記事を表示

JavaのWebアプリケーションからAzureCosmosDBへ接続し値を更新・参照する方法

# 初めに

Azure Cosmos DBを使用してアプリケーションを作成したときに
色々調べたことをまとめて記事にしておこうと思います。

本記事では、Azure Cosmos DBの接続から追加・更新・削除の方法を記載していきます。
Azure Portalについての操作(App ServiceやAzure Cosmos DBのデータベース作成やコンテナの作成方法など)は
記載しません。

CosmosDBを使用したjavaアプリケーションのチュートリアル的なものは公式のドキュメントに
色々あるので、そちらを参照してください。

[チュートリアル: Azure Cosmos DB および NoSQL 用 API を使った Java Web アプリケーションの作成](https://learn.microsoft.com/ja-jp/azure/cosmos-db/nosql/tutorial-java-web-app)

# 前提

Azureで構築する内容になります。

#### Webアプリケーション側(Azure App Service)
一応記載していますが、本記事の内容

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlの比較演算子の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlの比較演算子の比較

# Python

https://qiita.com/G-Rape/items/cd3f2f284ba990164564

# Ruby

https://qiita.com/yusuke_blog1026/items/ab33bdfa495597d04f0b

# PHP

https://qiita.com/yukachin0414/items/cfb02cbbdd31a52902e8

# Java

https://qiita.com/takahirocook/items/748990882f2de7a630a1

# JavaScript

https://qiita.com/miriwo/items/e9ca0a2779ed2c8117c3

# Perl

https://perlzemi.c

元記事を表示

[java] 配列の指定された文字列の出現回数を数える

# 初めに

javaに限らず、ある文字列の出現回数を求めたいときがあると思う。多くのプログラミング言語では関数を使えば簡単に実装できるが、簡単に実装する。

# 実装
List型引数を持ち、Mapを返り値に持つgetWordCountMap関数を実装した。

“`csharp
public static Map getWordCountMap(List wordList){
Map count = new HashMap<>();
String[] count1 = new String[wordList.size()];
int check=0;

for(String s:wordList){
check = 0;
for(String key : count.keySet()){
if(s.equals(key)){

元記事を表示

デスクトップマスコットを作ってみる。【アニメーション遷移編】

# 初めに
前回までの内容では、アニメーションの再生を行うタイムラインを管理するクラスの作成を行いました。
今回はアニメーションの遷移を行う用のクラスを作成していきます。

設計は、[前回の記事](https://qiita.com/urado/items/f951f5f05d74be4dc9b4)の**実装方針**の箇所に記載している通りに進めていきます。

ここができると、やっとマスコットらしきものが完成します。

# アニメーションコントローラ
アニメーションコントローラはマスコットから特定のイベントでアニメーションを切り替えたい場合に
指定のアニメーションへの切り替えを行うクラスです。

現在のアニメーションの状態から遷移可能かを判定し、遷移可能であれば現在のアニメーションを停止して
遷移先のアニメーションへと切り替えを行います。

アニメーションの現在の状態を保持するために、staticで状態を持つようにします。
操作するメソッドは同期処理にしたほうがいいかもです。

“`java:JDAnimationController.java

public final class

元記事を表示

Javaで何か作ってみる(2022/10/21 Day1)

## 今日やった事
– Qiitaで、「Javaで何かを作る」と宣言した。
## 所感
– Qiitaの記事を書けたのは良かったものの、それ以外は何も出来なかった。
## 明日の予定
– 何かしら、Javaの勉強は進めたい。
– Qiitaの記事を整理して、後々振り返りしやすくしたい。(タイトル、レイアウト、タグ付けetc)

元記事を表示

【Java】toString()だと『ぬるぽ』になる話

# 経緯
DBから主キーをもとに特定のレコードを参照したあとに、カラム名と値をセットにMapに詰めてから値を取得しようとした時の話

Mapの値はObject型なので欲しい値をString型に変換しようと
“`java:
//map:レコードの情報が入ったMap → <カラム名、値>
String value = map.get(“カラム名”).tostring();
“`
こんな感じで書きました。
カラム名に該当する値を取ってきてObject型からString型に変換する時にtoString()を使って変数に詰めていました。

すると現場の上長からレビュー時にこんなご指摘が。。。

上長「toString()だと『ぬるぽ』しちゃうかもしれないので別のやり方で変換してください。」

私「承知です!」
(ほほう、、、なるほど、、、。
確かにカラムの値がnullの可能性もあるか、、。というかぬるぽとか気にしてなかった、、、。ってかぬるぽになるんや?)

正直、String型に変換する時にそこまで考えていなかった私は事前に『ぬるぽ』を回避す

元記事を表示

【個人的メモ】リスト編① 〜 参照渡し・addAllの理解 〜

# 目次
 [1.参照型とは](#1-参照型とは)
 [2.参照渡しの理解](#2-参照渡しの理解)
 [3.addAllの理解](#3-addallの理解)

# 1. 参照型とは
 参照型の変数には「アドレス」が格納されている。
 その「アドレス」のメモリ上(一時的にデータを保管しておく場所)に、値が格納されている。
 このように「アドレス」を参照し、値にアクセスする型の総称を「参照型」という。
 オブジェクト(変数)の生成はnew演算子を使っておこなう。
 nullは参照先がない状態のこと。
# 2. 参照渡しの理解

“`java
package jp.co.study.sample;

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

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

// ①さかなリスト作成
List fishList = new ArrayList();

元記事を表示

「Apach POI」を使ってJavaでExcelファイルを操作してみた

##
JavaからExcelファイルを操作できるようにするライブラリ「Apach POI」を使ってみました。
プログラミングを初めるときにどの言語でも最初に行う「Hello World」みたいに、
動きましたー!すごいー!、、、のような内容です。

ちなみに、Excelが無い環境でも動きます。ちょっと感動しました。
(Excelが入っていないプライベートPCでもxlsxファイルを出力できました)

## 開発環境
– Eclipse:202209
– Java:SE11
– Apach POI:5.2.3

## 環境構築
まずは、主役となる「Apach POI」を以下からダウンロード
https://poi.apache.org/
ダウンロード→「Binary Distribution」→「poi-bin-5.2.3-20220909.zip」→「HTTP」

Eclipse上の操作
– 新規「Javaプロジェクト」
– Java11
– 「ライブラリ」→「クラスパス」→「外部JARの追加」
– 解凍したフォルダの中のjarファイルをすべて追加する

今回はシンプルに何も考えず環境構

元記事を表示

gRPCを使ってあそんでみる クライアント編

# gRPCを使ってあそんでみるの目的
ログデータを永続化するgRPCサービスを立ち上げログを記録する。

## 今回のお題
ログを記録するgRPCサービスに対してメッセージを送信しログに記録されるか確認します。

## ■事前環境
・Windows10 バージョン21H2
・IntelliJ IDEA 2022.1.4(Community Edition)
・OpenJDK Runtime Environment Zulu17.36+17-CA (build 17.0.4.1+1-LTS)
・Gradle

## 1.クライアントクラスを作成
https://qiita.com/shigemax999/items/fa9c3354ee79691b36d5

サービス起動編の続きとなります。
サービスに対してメッセージを送信するクライアントクラスを作成します。
サービスに対してステータスをINFO、メッセージにhello world.のリクエストを送信するクラスです。
レスポンスステータスを標準出力に表示させています。
~~~ ClientMain.java
package loggi

元記事を表示

OTHERカテゴリの最新記事