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

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

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

元記事を表示

JavaFX周りの備忘録

## 本記事の前提事項
※記事を書いている人は過激派です。

どっか行けヽ( ・∀・)ノ┌┛Σ (Eclipse)

三(メモ帳) ლ(^o^ლ)おいで
三(コマンドプロンプト) ლ(^o^ლ)おいで

## 前段
JavaFXと言えば、JavaでGUIアプリケーションを作るときに使われる便利なフレームワークだ。
AWT、Swingといった旧来のフレームワークよりも簡潔に、そして表現力を豊かにしたフレームワークだ。

基本的には`javafx.application.Application`クラスを継承したクラスを定義し、GUIをFXMLで定義し、`Controller`クラスを定義してイベントハンドラを割り当てたりする。

Java8の頃にはJDKにも組み込まれ、作ったjavaファイルをコンパイル→jarファイルに変換すれば、`java -jar App.jar`だとかで走らせることができた。

### そんなJavaFX君に悲劇が…
2018年頃だっただろうか、Java8からJava11への変更に伴い、JDKから追い出されてしまったのだ。
まるで幼児がニンジンやピーマンを皿の脇に追

元記事を表示

Perlの条件分岐 – ワンポイント解説【Python,Ruby,PHP,Java,JavaScriptとの違いは?】

Perlの条件分岐 – ワンポイント解説【Python,Ruby,PHP,Java,JavaScriptとの違いは?】

元記事を表示

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

# はじめに
こんにちは。前回の記事の最後でGridLayoutを使ってビンゴを作ろうと思い立ったので挑戦。

イメージは、
+ 「ビンゴカード作成」ボタンでランダムな数字を5×5並べたカードを作る。数字が被らないようにする処理が難しそう…
+ 「ゲーム開始」ボタンで、ゲーム画面に移行
+ 「抽選」ボタンでランダムな数字がでて、カードのその数字があれば背景色を変えるとかそんなことをする。こっちも同じ数字は出ないようにしたいかも。
+ (もしできそうだったら)リーチやビンゴ時に文字が表示されるようにする

こんな感じかな。ビンゴゲームと言いつつも、複数人でできる仕様じゃなくて、ただむなしく一人でやるもの笑

# だいたいの見た目
画面サイズは適当。
“`Java
public class BingoGame extends JFrame implements ActionListener{

JButton mkCardBtn;
JPanel BingoCardPanel;
JLabel bingoNumLabel[] = new JLabel[25];
Container

元記事を表示

のメモ

## について

`List list = new ArraryList<>~`などたまに見かける型、。
**ジェネリクスのワイルドカード**としての役割?があるみたい

本来の意味としては、「万能の力を持つカード」「他のカードの代用として使用できるカード」みたいな意味がある。
IT分野では、検索機能などで役立つ(部分的な検索など)

### メリットとデメリット

ジェネリクスでこのワイルドカードを使えば、**データ型を後で宣言できる。**

使用するデータ型に**幅**が生まれる!!

しかし、**newが使用できない**という点において注意が必要。
型の設定が曖昧であるため、生成ができない(詳しくは、コンパイルする時に、型パラメータが消える)

### 他の使い方
また、``で**上限**を設けることも可能。

## まとめ

今回は、ジェネリクスのワイルドカードについて、少し勉強した。

まだ、ジェネリクスのワイルドカードについて、しっかりと知れたわけではないため、より理解を深めていきたいと思う。

元記事を表示

整数型に ‘c’ が代入できるそれぞれの事情

# これは何?

https://qiita.com/Cowsisland/items/71248bdd081089b7ba09

という記事で

“`c:c
int a;
a = ‘c’;
“`

が問題なく動いている話や [素晴らしいコメント](https://qiita.com/Cowsisland/items/71248bdd081089b7ba09#comment-732ca0b2d7c2a7be908d) があって面白かったので、記事にしてみた。

# それぞれの事情

## C言語

C 言語の場合、そもそも `’c’` の型が `int` である。
なので

“`c:c
int a;
a = ‘c’;
“`

は、わりと面白くない。

## C++ / C# / D / Java

C++ の場合、 `’c’` は `char` となっている。なので

“`c++:c++
int a;
a = ‘c’;
“`

とした場合、`char` から `int` への暗黙の変換が発生する。この変換はほぼ必ず(`sizeof(int)==sizeof(char)`

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlの正規表現の比較

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

Python,Ruby,PHP,Java,JavaScript,Perlの正規表現の比較

# Python

https://qiita.com/FukuharaYohei/items/459f27f0d7bbba551af7

# Ruby

https://qiita.com/shizuma/items/4279104026964f1efca6

# PHP

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

# Java

https://qiita.com/suema0331/items/5dde9f91671100a83905

# JavaScript

https://qiita.com/iLLviA/items/b6bf680cd2408edd050f

# Perl

https://perlzemi.com/blog/2

元記事を表示

ECS上のTomcatアクセスログをCloudWatch Logsに出力する

# はじめに

ECS上で動作するコンテナについては標準出力にログが流れるよう設定する必要がありますが、Tomcatアクセスログはデフォルトで標準出力には流れません。
本記事ではTomcatのアクセスログを標準出力とし、CloudWatch Logsに出力する方法を紹介します。

## 環境
– Java11
– tomcat9.0

## 実施内容

方法としては非常にシンプルです。
– アクセスログを日付毎に出力するのではなく、固定ファイル名とする
– 固定ファイルと標準出力のシンボリックリンクを作成する

## server.xmlの用意

server.xmlのAccessLogValveを以下のような設定にする事で、アクセスログを固定ファイル名「access_log.txt」に出力するよう設定します。

“`server.xml
WindowsでJavaをインストールせずに使って、SikuliXを持ち運び可能にする

+ RPAを導入したいけど、お金はない。
+ SikuliX使いたいけど、Javaをインストールしたくない。

そんな人向けの情報です。

—-
## 手順

以下、Oracle OpenJDK を例にします。
1. [jdk.java.net](https://jdk.java.net/) から、Java8 以上で64bit版のWindows用buildをダウンロードします。
ex) [openjdk-20-ea+13_windows-x64_bin.zip](https://jdk.java.net/20/)
1. ダウンロードしたファイルを解凍して、`jdk-xx` フォルダを取り出します。
また、`jdk-xx` フォルダと同じ場所に `sikulixide-2.0.5.jar` を配備します。
1. 環境変数`PATH`に`java.exe` を追加するバッチファイルを作成し、バッチファイルから SikuliX を起動します。
**例)JDK-20 の場合**
“`cmd: sikulix_start.bat
@echo off
pushd %~dp0

元記事を表示

Java:PDFファイルの結合方法

内容がより密接に関連しているが、PDF文書の複数のファイルに分割されている場合、我々は、コンテンツの我々の読み取りや文書の処理を容易にするために、PDF文書にマージすることができます。 この記事では、Javaプログラミングを使用して**PDFファイルを結合する方法**を紹介します。

## 【依存関係の追加】
この方法は、無償のFree Spire.Doc for Javaが必要ですので、先にjarファイルをインポートしてください。
### 1. Maven
Maven を使用している場合、プロジェクトの pom.xml ファイルに以下のコードを追加することで、簡単にアプリケーションに JAR ファイルをインポートすることができます。
“`XML


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

元記事を表示

ABC043の解答[Java]

## はじめに
A~Cは自力AC、Dは解説ACしたものとなります。
昔のコードなので、そのままのも載せますが書き直した方が良さそうな時は書き換えた物も載せます。

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

## A – キャンディーとN人の子供イージー
問題文は[こちら](https://atcoder.jp/contests/abc043/tasks/abc043_a)

単純にfor文でシミュレーションしました。
“`A.java
import java.util.*;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);

//値の受け取り
int N = sc.nextInt();

//答え用変数
int ans = 0;

//順に足していく
for(int i=1;i<=N;i++){ ans += i; } //答えの出力 System.out.println(ans); } } ``` 公式$\frac{

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlのファイル入出力の比較

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

Python,Ruby,PHP,Java,JavaScript,Perlのファイル入出力の比較

# Python

https://qiita.com/onishi_820/items/f3068d5533a1f4f5ae39

# Ruby

https://qiita.com/Morio/items/8f0dc0801cfcb98d8269

# PHP

https://qiita.com/Morio/items/1deca77b370851ed914f

# Java

https://qiita.com/DeraTosev/items/77cd689da4426b892793

# JavaScript

https://qiita.com/shirokuman/items/509b159bf4b8dd1c41ef

# Perl

https://perlzemi.com/blog/20

元記事を表示

Spigotプラグインのコンフィグファイルを読み込む

## コンフィグファイルとは
 プラグイン名のディレクトリ下に配置されるconfig.ymlのことです。
プラグインの中にはこのyamlファイルからデータを読み取って動くものがあります。

## config.ymlからデータを読み取る
 JavaPluginを継承したクラスで`getConfig().get[データ型] “config.yml内でのパス”`のように記述すれば取得することができます。
ですがこの方法だとメインクラスでしか読み取りを行うことができません。
メインクラスにごちゃごちゃ書くのはなんだか嫌ですね。
かといって別のクラスを作成してJavaPluginを継承しようとすると怒られます。

一つのプラグインにおいてJavaPluginを継承したクラスが複数存在するとSpigotに怒られる上にプラグインを認識してくれません。
起動時にめちゃくちゃエラーが出ます。(n敗)

### データ読み取り用のクラス
メインクラスとは別のクラスにconfig.ymlからデータを読み取るメソッドを置きたい。
さて、どうしたらよいでしょうか。
単純明快。
とりあえずYamlConfig

元記事を表示

Java Swing レイアウトで遊ぶ

## BorderLayout
BorderLayoutは画面を5つの領域(NORTH,WEST,SOUTH,EAST,CENTER)に分けて自動でコンポーネントの大きさを変えて配置してくれるレイアウトマネージャー。
公式ドキュメントはこちら。
https://docs.oracle.com/javase/jp/8/docs/api/java/awt/BorderLayout.html
とりあえず試してみる。
### フレームサイズ(400,600)の場合
“`Java
setBounds(100,100,400,600);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton N_Btn = new JButton(“北”);
JButton W_Btn = new JButton(“西”);
JButton S_Btn = new JButton(“南”);
JButton E_Btn = new JButton(“東”);

元記事を表示

ABC044の解答[Java]

## はじめに
A~Cは自力AC、Dは解説ACとなります。
昔のコードなので、そのままのも載せますがなるべく見やすく書き換えたものも一緒に載せます。

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

## A – 高橋君とホテルイージー
問題文は[こちら](https://atcoder.jp/contests/abc044/tasks/abc044_a)

特に考えずに場合分けをして解きました。
NがK以下ならN*X、Kより大きいならK*X+(N-K)*Yって感じです。
“`A.java
import java.io.*;
class Main{
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

//各値の受け取り
int N = Integer.parseInt(br.readLine());
int K = Integer.parseInt(br.readLine()

元記事を表示

ウマ娘で学ぶポリモーフィズム(多態性)

# ポリモーフィズム(多態性)の特徴とは・・・
あるメソッドの呼び出しに対して、それぞれのオブジェクト毎に異なる動きを実現出来ること。

# ウマ娘を例にすると
”あるメソッド”は、以下HorseGirlクラスのcallメソッドとする。
“`java:HorseGirl.java
package sample;

// ウマ娘クラス(抽象クラス)
public abstract class HorseGirl {
// トレーナーを呼ぶ!
public abstract void call();
}
“`
これをもとに、各オブジェクトに異なる動きを与える。
“`java:AirGroove.java
package sample;

// ウマ娘クラスを継承したエアグルーヴクラス
public class AirGroove extends HorseGirl{

@Override
public void call() {
System.out.println(“たわけ!”);

}

}
“`
“`java:RiceShower.java
package

元記事を表示

@overrideアノテーションについて

# アノテーションの種類

### @override

– **overrideをつけると「必ずオーバーライドしてください」と指定することが可能**
– スペルミスなどが抑制できる

“`

public class Test extends TestOverride {
 
@Override
public void outputs() {
System.out.println(“Hello World!”);
}
 
public static void main(String[] args) {
TestOverride cl = new TestOverride();
cl.output();
}
}
 
public class TestOverride {
 
public void output(

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlの関数定義の比較 (メソッド定義・サブルーチン定義なども)

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

Python,Ruby,PHP,Java,JavaScript,Perlの関数定義の比較 (メソッド定義・サブルーチン定義なども)

# Python

https://qiita.com/simonritchie/items/0f7b3768031dda834907

# Ruby

https://qiita.com/shizen-shin/items/dd41d1f0176a5e764f9f

# PHP

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

# Java

https://qiita.com/takahirocook/items/5bfe43576d87a2a4006c

# JavaScript

https://qiita.com/tomcky/items/988fc5f56d019e9dc097

# Perl

ht

元記事を表示

Java Silver SE11受験記

7月にJava Silver SE11を受験しました。
結果は残念ながら不合格だったのですが、受験期として残します。

# 使用した教材
・徹底攻略Java SE 11 Silver問題集[1Z0-815]対応
黒本と呼ばれるやつです。
[こちらの教材](https://www.amazon.co.jp/徹底攻略Java-SE-11-Silver問題集-1Z0-815/dp/4295007625/ref=nodl_?dplnkId=068007f9-e5fe-44a7-ac60-93372c287a24)

# 学習期間
1ヶ月弱

# 行った学習
[1回目]
とにかく解説を読む。
⇒簡単な知識しかなく、しばらくJavaのコーディングをしていなかった私にとっては、1回目からいきなり問題を解くのは難しかった。
何を問われているかを把握した後は、ひたすら解説を読み進めていった。
1度目から完全に把握するのは難しいので「へぇ〜こんなのあるんだ。」位のスタンスで良いと思う。

[2回目]
自力でできるところまでで問題を解く。
分からなくなったら解説を見る。
⇒1問毎に知らない知識が

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlのプログラミング言語の比較

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

Python,Ruby,PHP,Java,JavaScript,Perlのプログラミング言語の比較です。

# 2022年版

## 人気の比較記事

https://qiita.com/yuki_kimoto/items/192d162c73b584fc72b9

https://qiita.com/yuki_kimoto/items/715b7d46c0ece786c900

## 基本文法

https://qiita.com/yuki_kimoto/items/a11a1095fc24be590fce

## 入門

https://qiita.com/yuki_kimoto/items/00aaab90f31194a5de74

## インストール

https://qiita.com/yuki_kimoto/items/7c2f1be70d68065338a4

## 変数

https:/

元記事を表示

OTHERカテゴリの最新記事