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

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

Python,Ruby,PHP,Java,JavaScript,Perlの文法・構文の比較

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

Python,Ruby,PHP,Java,JavaScript,Perlの文法・構文の比較

# Python

https://qiita.com/Fendo181/items/a934e4f94021115efb2e

# Ruby

https://qiita.com/Fendo181/items/eb2cb17f32d99aa01f59

# PHP

https://qiita.com/7968/items/d739e926189e219273bd

# Java

https://qiita.com/tomonori_hioki/items/cec47a366208d43d7339

# JavaScript

https://qiita.com/Fendo181/items/cca476da99e8f09b6b97

# Perl

https://perlzemi.com/blog/2

元記事を表示

eclipse4.8 で maven で wabapp の雛形作成

eclipse4.8 で maven の webapp の雛形を作るとエラーがいくつかあったりしたので備忘録でメモ
使った eclipse は `pleiades-4.8.0-java-win-64bit-jre_20180923`

## maven プロジェクト作成
1. 右クリック – [新規] – [プロジェクト]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51758/2f412f23-aaf3-acb1-e70b-9d758a93a05a.png)
1. [Maven] – [Maven プロジェクト] – [次へ]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51758/09ee2f44-577d-8c85-f9b4-c2faece50e2b.png)
1. デフォルトのまま [次へ]
![image.png](https://qiita-image-store.s3.a

元記事を表示

【Java】Json文字列をオブジェクトに変換

# はじめに
jsonをjavaクラスに変換する方法をまとめました。
以下のエラーに悩んだので原因と解決方法も書いています。
“`com.fasterxml.jackson.databind.exc.InvalidDefinitionException“`

## Json⇒javaクラス変換

mainクラス
“`java
String sjson = “{\”id\”: 1, \”name\”: \”Tanaka Taro\”, \”gender\”: \”Man\”, \”age\”: 23}”;

ObjectMapper mapper = new ObjectMapper();
BaseballPlayer player = mapper.readValue(sjson, BaseballPlayer.class);
System.err.println(player.getName());
“`
BaseballPlayerクラス
“`java
public class BaseballPlayer {
private

元記事を表示

javacをtomcatで使う

https://atmarkit.itmedia.co.jp/ait/articles/0710/11/news121_3.html

tomcatコンテナ内に上のリンクを参考にhelloworldのサンプルファイル作ろうとしたときにjavacというコンパイルに必要なコマンド必要だとわかったのでメモ

結論:
JDK(Javaの開発キット)にそのコマンドが含まれている&tomcatにapt系コマンドがもともと入っていたので以下のコマンドでインストール
“`
apt-get install default-jdk
“`
aptでインストール:https://www.linuxmania.jp/apt-install-java.html
JDKは開発キット:https://techacademy.jp/magazine/22220

元記事を表示

メモ: Java 11でのHTTP(GET)リクエスト

超簡易にHTTPGETリクエストを投げるコードを書き、動作確認したのでメモ。

“`
import java.net.http.*;
import java.net.URI;
import java.io.IOException;

class Main {
public static void main(String[] args) {
// HttpClient生成
HttpClient cli = HttpClient.newHttpClient();
// HttpRequest生成
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create(“http://www.google.com”))
.GET()
.build();
// リクエスト送信
try {
HttpResponse ress = cli.send(req, HttpResponse.BodyHand

元記事を表示

【Java基礎】オブジェクト指向とクラス

# はじめに
最近Java基礎の研修を受けました。学生時代にJavaを授業で習って基礎は身につけていたのですが、忘れていた内容もあったので備忘録として書き残してみます。

この記事では、**Javaの基礎的な内容に関してまとめていきます**。
今回は**オブジェクト指向**と**クラス**です。

# オブジェクト指向
Javaはオブジェクト指向言語と呼ばれるプログラミング言語の1つです。

## オブジェクト指向とは
オブジェクト指向は、「**物(オブジェクト)**」と「**動作(メソッド)**」で表現する手法です。

オブジェクト指向で「車を運転する」ということを表現することを考えてみましょう。
オブジェクトとメソッドは以下のように分けることができます。
| オブフェクト | メソッド |
|:-:|:-:|
| 車、人(運転手) | 前進、後退、ブレーキをかける、クラクションを鳴らす、… |

人オブジェクトが車オブジェクトのメソッドを実行することで車を運転することができます。
このとき、**人オブジェクトは車オブジェクトの中の仕組みを知っている必要はありません。**

元記事を表示

Java: Excelセルのマージとマージ解除の方法

Excelドキュメントでテーブルの内容を設計する際に、セル範囲をマージするか、セルのマージを解除する必要がある場合があります。[Free Spire.XLS for Java](https://jp.e-iceblue.com/introduce/free-spire-excel-for-java.html)はこの機能を簡単に実現することができます。以下に詳細なチュートリアルを示します。

– Excelセルをマージする
– Excelセルのマージを解除する

## Spire.XLS.Jarのインストール
方法1:
mavenを使用している場合は、次のコードをプロジェクトのpom.xmlファイルに追加することで、JARファイルをアプリケーションにインポートできます。
“`


com.e-iceblue
https://repo.e-iceblue.com/nexus/content/groups/public/

元記事を表示

【Spring Boot】DbSetupを使ったRepositoryの単体テスト

DbSetupを使ったRepositoryの単体テストの書き方を学んだので、備忘のために執筆します。

# はじめに
## DbSetupとは
データベースの単体テストを行うために用意されたライブラリ。
テストデータ投入手段として使用でき、少量のテストデータ投入に向いている。

[DbSetup 公式](http://dbsetup.ninja-squad.com/)

## DbUnitとは
DbSetupと同じく、データベースの単体テストを行うために用意されたライブラリで、テストデータ投入手段として使用できる。
DbSetupとの違いとしては、DbSetupはテストデータをJavaで記載していくのに対して、
DbUnitはXMLやExcelでテストデータを準備するようになっている。

## DbSetup 選択理由
DbUnitではなくDbSetupを選ぶ理由
– 単体テストで必要になるデータは少量のテストデータが多く、DbUnitだとその都度XMLやExcelでファイルを作成する必要があり手間であるが、DbSetupならJavaで投入データを作成していくので、手間が軽減する。

元記事を表示

カリー化とは

# 意味
– 関数を返す関数を作り、プログラムの共通化を図る。
– 言語に関係なく共通する概念であるが、ここではtypescriptで説明します。

# 例文
“`typescript:typescript
const add = (x:number) => (y:number) => x + y
const add1 = add(1)
const result = add1(2) // 3
“`

# 説明
関数addは引数xを受け取ると、`(y:number) => x + y`を返す関数。
add関数の引数として1を入れると、`(y:number) => 1 + y`の返すようになる。
返された関数の引数yに対して2を入れると、`(2) => 1 + 2`が成立され、3を返す。

# メリット
– 共通化によってバグを防ぐことができる。
– まとまった処理を分割することによって、複雑度を下げつことができる。

# 例文
“`typescript:typescript
const add = (x:number, y: number) => x + y
add(1, 2)

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlの標準関数の比較

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

Python,Ruby,PHP,Java,JavaScript,Perlの標準関数の比較

# Python

https://qiita.com/hiroyuki_mrp/items/8bbd9ab6c16601e87a9c

# Ruby

https://qiita.com/sugamaan/items/d7871da28c0160b69609

# PHP

https://qiita.com/SRAUFactory/items/96ecd6d677c26a20b77a

# Java

https://qiita.com/p_shiki37/items/3902f4e3adc3aeb382f1

# JavaScript

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

# Perl

https://perlzemi.com/blog/

元記事を表示

めちゃくちゃ簡易のビンゴゲームを作る #2

# 初めに
まず[前回やったこと](https://qiita.com/snow_saboten/items/1a3a8c77e22b75c9173b)の確認。
+ ランダムな数字を並べてビンゴカードを作る機能を作成。
+ 「ゲーム開始」ボタンでゲーム画面に移動するようにした。

の2つ。
前回の記事のコメントでビンゴカードはただランダムな数字を並べているのではなく、列ごとに並ぶ数字の範囲が決まっている、ということを教えていただいたので、この機能を追加する。
よって、今回作った機能は以下の2つ。
+ ビンゴカード作成機能の改良版(列ごとに範囲限定)
+ 抽選ボタンで出た数字がカード上にあれば、そのマスの背景色を変える。

ひとつずつ紹介する。
# ビンゴカード作成機能改良版
## コード(レイアウト)
“`Java
JPanel BingoCardPanel;
JPanel p1;
JPanel p2;
JPanel p3;
JPanel p4;
JPanel p5;
JLabel bingoNumLabel1[] = new JLabel[5];
JLabel

元記事を表示

【Java基礎】変数&演算

# はじめに
最近Java基礎の研修を受けました。学生時代にJavaを授業で習って基礎は身につけていたのですが、忘れていた内容もあったので備忘録として書き残してみます。

この記事では、**Javaの基礎的な内容に関してまとめていきます**。
今回は**変数**と**演算**です。

# 変数
変数とは、**データを入れる箱**のようなものです。

## 変数の宣言と代入
`int point;`のように`型名 変数名`と宣言します。
代入するには、`point = 1;`のように`変数名 = 代入する値;`と記述します。
宣言時に`int point = 1;`というように値を代入して宣言することも可能です。

また、型名の前に`final`と付けると定数になります。
“`java:定数の例
int point = 1;
final int finalPoint = 1; // 定数に初期値を与える

point = 10; // 正しく代入できる。
finalPoint = 10; // 定数に値を代入しようとしているため、コンパイルエラー
“`

## 変数の型
Java

元記事を表示

未経験エンジニアの就職活動①

本日面接を受けました。

職業訓練でJavaを学んだ事をアピールしたが基礎的な知識を答えられなかった。

ポートフォリオがあった方がいいと分かっていても何を作ればいいか分からず未だに疲れていない。

対策が未だに分からないが無能未経験エンジニアとして就活を頑張ります。

受けた会社→9社
面接まで行った会社→2社

落ちた会社→9社

元記事を表示

Spring Boot + RemoteContainer

## はじめに

こんにちは、まだしばらくは新人エンジニアだと思っている者です。
java触ってみたいなぁと思ったので(javaの資格が欲しくてw)ついでにフレームワークもやろう!
くらいのノリでとりあえず環境構築していきます。Spring Frameworkよりはシンプルと見たのでそれを信じております。
勉強するならフレームワーク触る前にやった方がいいやろ!というご意見は確実にあるかと思いますが(僕はそう思った。。)フレームワークいじる方が楽しそうなので流されてきました。

## containerで構築

javaコンテナの作成をこちらの記事を参考に進めてみる。
[Docker × Spring Boot環境構築](https://qiita.com/A-Kira/items/beaf79a0d39d9839e61e)

上記の記事に沿って進めるとGradleのビルドが上手く行きませんでした。

“`
# javaコンテナにインスペクション
$ docker-compose exec java bash

# gradleビルド
$ sh gradlew build
xargs

元記事を表示

Utilにシンプルな名前をつけると発見があると思った話

日時書式の変換にSimpleDateFormatをnewするのはもうやめよう・・・
parseするたびにtry~chatchは面倒だし。
DRYの観点から、いままで以上に、積極的に、Utilsクラスを作る。

「SimpleDateFormat」・・・抽象化すれば「DateFormat」。
ならば、シンプルに、「DateFormatUtils」とするべきだろう。

早速、空のクラスを作成する。
テストファースト。
具体的な実装は後回し。まずは、呼出し側から実装。

するとどうだろう。コードアシストで、既存のクラスがヒットするではないか。

「org.apache.commons.lang3.time.DateFormatUtils」

ちょっと中を覗いてみる。

・・・まさにやろうとしていたことが実装済みではないか。
しかも、構想の何千倍も気が利いた配慮が実装済み。

そんなわけで、オレオレDateFormatUtilsを実装することは中断し、

「org.apache.commons.lang3.time.DateFormatUtils」

を使うことになりました。

費用対効果

元記事を表示

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

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

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

# Python

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

# Ruby

https://www.tohoho-web.com/ruby/operators.html

# PHP

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

# Java

https://qiita.com/suema0331/items/7045e3ce3e2f5faa9acf

# JavaScript

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

# Perl

https://perlzemi.com/blog/20161005147566.h

元記事を表示

AtCoder ABC267 C問題 詳解

# AtCoder ABC267 C問題 詳解
ABC267 C問題の公式解説が物足りなかったため、備忘録の意味も込めて詳解を投稿します。

### 問題
> “`math
> 長さNの整数列A=(A_{1},A_{2},…,A_{N})が与えられます。\\
> 長さMのAの連続部分列B=(B_{1},B_{2},…,B_{M})に対する、
> \sum_{i=1}^{M}i×B_{i}
> の最大値を求めてください。
> “`
すなわち、
“`math
f(x)=1×A_{x}+2×A_{x+1}+\dots+M×A_{x+M-1}, (1\leq x\leq N-M+1)\\
“`
の最大値を求める問題です。

### 詳解
##### 総当たりの場合
まず、総当たりを考えます。
$f(1)$から$f(N-M+1)$を全て計算した後、最大値を求めればよいです。
このとき、$f(x)$を求めるのに$M(\leq N)$回加算を行い、その操作を$(N-M+1)$回行うので計算量は

“`math
O(M)×O(N-M+1)\leq O(N)×O(N-M+1) = O(

元記事を表示

【Java】アノテーション

# 学習したアノテーション

### コントローラークラスで使うアノテーション

#### `@controller`
そのクラスがコントローラーであることをSpringに伝えるためのアノテーションです。

#### `@Responsebody`
ブラウザからのリクエストに対して、直接HTMLを返す(戻り値がそのまま返る)際に利用するアノテーションです。

#### `@GetMapping`
`@Mapping`は、ブラウザで入力されたURLと、実行されるメソッドを紐づけるためのアノテーションです。
GETリクエストを処理します。

#### `@PostMapping`
POSTリクエストを処理します。

#### `@ModelAttribute`
任意のデータをModel型のオブジェクト内に格納することができます。

#### `@PathVariable`
URLに含まれるパラメータを受け取るためのアノテーションです。

### リポジトリクラス・データアクセスクラスに使うアノテーション

#### `@Data`
対象クラスにgetter/setterでアクセスすることを

元記事を表示

要素数が異なる2次元配列の取り出し方(備忘録)

# 要素数が異なる2次元配列の取り出し方

“`java
public static void main(String[] args) {
// 配列用意
int[][] array = new int[][] { { 1, 2 }, { 2, 3, 4 } };

// 2次元配列の要素数
System.out.println(“2次元配列の要素数: ” + array.length);
// 2次元配列の[0]に入っている配列の要素数
System.out.println(“2次元配列の[0]に入っている配列の要素数: ” + array[0].length);
// 2次元配列の[1]に入っている配列の要素数
System.out.println(“22次元配列の[1]に入っている配列の要素数: ” + array[1].length);

// 配列の中身全てのとり出す
for (int i = 0; i < array.length; i++) { for (int j = 0; j < array[i].length; j++) { Syst

元記事を表示

ABC267A~Dの解答[Java]

## はじめに
今回も4完できたのでDまで書こうと思います。

では見ていきましょう。

## A – Saturday
問題文は[こちら](https://atcoder.jp/contests/abc267/tasks/abc267_a)

if~elseで実装しました。
“`A.java
class Main{

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

public static void main(String[] args)throws IOException{

//Sの受け取り
String S = System.in.next();

//全部書く(根性)
if(S.equals(“Monday”)){
System.out.println(5);
}else if(S.equals(“Tuesday”)){
System.out.println(4);
}else if(S.equals(“Wednesd

元記事を表示

OTHERカテゴリの最新記事