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

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

[paiza]スキルチェック見本問題 Java 一番小さい値 (paizaランク D 相当)

初めに

今回はpaizaラーニングの以下のスキルチェック見本問題に挑戦します。
見本問題なのでコードの公開は自由です。

一番小さい値 (paizaランク D 相当)

https://paiza.jp/works/mondai/skillcheck_sample/min_num

“`
問題:
5 つの正の整数が入力されるので、最も小さい数字を出力して下さい。

入力例1
10
12
4
8
46

出力例1
4
“`

解答コード

以下が、正解のコードですが、なかなかできませんでした。

“`java:
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
//100までの数字なので、answerに最大値を設定しておく
int answer = 101;
//数字は5つ与えられるので、iは0-4までの変化をする
for(int i = 0; i < 5; i++){ //

元記事を表示

VCに誰かが入った時に通知してくれるbotを作る【Discord/Java】

## はじめに
身内用に誰かがDiscordのVCに入ったときに通知してくれるbotを作ったので覚え書き。

## 環境
– Java
– Gradle
– Javacord

## Javacordの導入
[Javacord](https://github.com/Javacord/Javacord)はDiscord botをJavaで開発するためのライブラリです。
以下のようにgradleファイルに記述します。

“`gradle:gradle.build
repositories { mavenCentral() }
dependencies { implementation ‘org.javacord:javacord:バージョン’ }
“`

## Discord botアカウントの設定
https://qiita.com/1ntegrale9/items/cb285053f2fa5d0cccdf

こちらとかを参考にしつつbotを作成する。

## ログインする

“`java
DiscordApi api = new DiscordApiBuilde

元記事を表示

「JavaはOSに依存しない」ちゃんと説明できるか俺?

# はじめに

Javaに関することは一通り他人にちゃんと説明できる「つよつよJavaエンジニア」になるための第一歩の記事(そんなこと知らんがなって話ですよねすみません)

当たり前のことなんだけど、改めてOUTPUTして整理しやす

# まず結論

OSに依存しない理由は「**実行環境(JVM)にてバイトコードをOSに合わせた機械語に変換する**」から

# 細かくみていこう

プログラミング言語は2種類に分かれる。

「コンパイラ方式」と「インタプリタ方式」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653955/ebac1a2e-2ebd-9ff7-127a-26c0a3615439.png)

インタプリタ方式は、ソースコードを機械語に変換しつつ実行する。
コンパイラ方式は、ソースコードを事前に機械語に変換してから、一気に実行する。

違いは「事前に機械語に変換するかどうか」だ。

この2つ。事前に機械語に変換するかどうかで↓のような差が生まれる。
![image.png](

元記事を表示

mockmvcでUnparsable JSON stringが発生する & Response Bodyが常に空になる

SpringBoot MockMvcでControllerの単体テストを書いているときに上記のエラーが発生して1時間程度無駄にしたので備忘録です。

# 概要
mockmvcで以下のようにレスポンス値を確認するようなコードを書いていました。
(簡略化しています。)

“`java
Sample sample = new Sample(“sample”);

mvc.perform(get(URI)
.param(“userId”, “1”)
.accept(MediaType.APPLICATION_JSON)
).andExpect(status().isOk())
.andExpect(content().json(JsonOutput.toJson(sample)));
“`
実際にはjson化できているにもかかわらず、以下のエラーが出てしまい頭を抱えてしまいました。

“`
Condition failed with Exception:
org.json.JSONExcep

元記事を表示

Couchbase Server Java SDK解説: エラー処理の基礎

## はじめに

エラーは避けられません。そのため、SDKには、(一時的な)障害が発生した場合でも、アプリケーションを可能な限り最高の状態に保つという1つの目標に焦点を当てた非常に広範なエラー処理および再試行機能があります。
当然ながら、アプリケーションドメインを理解していないため、SDKだけでは、必要なすべての決定を下すことができません。ほとんどの場合、透過的な再試行が最善の選択になり得ますが、場合によっては、すぐに失敗して別のデータソースに切り替える必要があります。

ここでは、エラー処理の基礎について記します。

別の機会に、高度なエラー処理メカニズム、についても整理したいと考えています。

## エラー処理の基礎

次の基本事項は、SDKが再試行の決定を行う方法とエラーがどのように表示されるかを理解するのに役立ちます。

### リクエストのライフサイクル
次の画像は、リクエストライフサイクル中の高レベルのフェーズを示しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/

元記事を表示

[Java基礎⑥]配列 複数行を配列に格納/配列をランダム出力 split・hasNextLineメソッド

初めに

前回はJavaの基本的な配列を学習しましたが、
今回は応用編です。
決まった文字で区切って配列に格納する split と、
複数行を読み込むhasNextLineメソッドを学習しました。

split カンマで分割して配列に格納する

“`java:
import java.util.*;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String data = sc.nextLine();
String[] array = data.split(“,”);
System.out.println(array[0]);
}
}
“`

標準入力で、「ごはん,おかか,梅干し」と打つと、「ごはん」が出力されます。

以下を追記すると、配列の中身を一つずつ出力できます。

配列の中身を取り出す

元記事を表示

サーブレットとJSPのキホンのキ

# 記事の目的
サーブレットとJSPについて入門書を一通り読みましたが、数ヵ月もして久しぶりに触れると一切思い出すことができず、悲しくなりました。今回はそんな悲しい時にさらっと確認して元気になりたいという思いから、超基本的な内容を記事にまとめてみました。

# 目次
1. はじめに
1. サーブレットとは
1. JSPとは
1. サーブレットとJSPの役割
1. 参考文献

## はじめに
サーバサイドプログラミングの仕組みを実現する技術はいくつかあるが、Javaで開発する場合は、「サーブレット」と「JSP」を使用する。
JavaでWebアプリケーションを開発するには、サーブレットコンテナを持つアプリケーションサーバが必要。
(アプリケーションサーバの機能を提供するソフトウェアのことを「サーブレットコンテナ」、または単に「アプリケーションサーバ」と呼ぶこともある)

## サーブレットとは
サーブレットはJavaを使ってサーバサイドプログラムを作るための技術。
サーブレットクラスというクラスを開発することで、アプリケーションサーバ上でそれらを実行できる。
サーブレットクラスはブラウ

元記事を表示

Visual Studio CodeでOpen LibertyサーバーサイドJavaアプリをデバッグする

#はじめに

これまでフロントエンドはVisual Studio Code、サーバーサイドはEclipseで開発をしていましたが、Eclipseのヒープが結構とられるため、Visual Studio CodeでJavaも開発できるようにしたいと思います。
私の仕事柄、以下の機能が必要となります。

– Javaでコーディングするだけでなく、ローカルでJava EEアプリをデバッグしたい
– アプリケーションサーバーとしてOpen Libertyを利用したい

参考

#セットアップ

Visual Studio CodeでJavaで開発環境を整えるため、前提として以下のセットアップを行います。

– Java SDK (JREではないです)
– maven
– Visual Studio Code

Visual Studio Codeを立ち上げたら、以下の拡張機能をインストールします。

– Extention Pack for Java ![image.png](https://qiita-i

元記事を表示

【Java】Javaで出来ること

# 目的
Javaで出来ることを把握する。

# 目次

1. [Javaの特徴](#javaの特徴)
1. [アプリの開発](#アプリの開発)
1. [Webサイトの作成](#webサイトの作成)
1. [Webサービス](#webサービス)
1. [システムの開発](#システムの開発)
1. [組み込みシステムの開発](#組み込みシステムの開発)

# Javaの特徴

まず、Javaの特徴ですが、以下のような特徴があります!

・実行速度が速い
・ライブラリが充実している
・プラットフォームに依存しない

Javaは環境に左右されない言語で、`JVM`(Java Virtual Machine:Java仮想マシン)が入っていればWindowsでもLinuxでもMac上でも動きます。

# アプリの開発

まずJavaで出来ることの1つにアプリの開発があります。
特にJavaで開発されるAndroidアプリはとても多く、Androidスマートフォンアプリのどんな分野も開発できるため、標準開発システムと言えます。

また、パソコンのアプリにもJavaで開発されたものがあります。

#

元記事を表示

【Python】【Ruby】【Java】ビンゴカード作成問題!

 現在僕はPythonを学んでいます。Pythonを学び始めて1週間ほどが経過したので、過去にRubyやJavaで作成していたプログラムをPythonでも作ってみることにしました。

B:1~15のどれか
I:16~30のどれか
N:31~45のどれか
G:46~60のどれか
O:61~75のどれか

“`
B | I | N | G | O
13 | 22 | 32 | 48 | 61
3 | 23 | 43 | 53 | 63
4 | 19 | | 60 | 65
12 | 16 | 44 | 50 | 75
2 | 28 | 33 | 56 | 68
“`

 上記のような出力結果を得るプログラムになります。

– Rubyの場合
– Javaの場合
– Pythonの場合

 以上の流れでコードを載せていきます。

## Rubyの場合

https://qiita.com/kim-shun/items/0c862ff71e61648cd346

“`ruby
puts ” B | I | N | G | O”

b = (1..15).

元記事を表示

CouchbaseとSwaggerによるRESTful Webサービス構築⓪ サンプルアプリケーション紹介

## はじめに

本稿では、[Couchbase Labs](https://github.com/couchbaselabs)により公開されているサンプルアプリケーションを紹介します。

サンプルアプリケーションの構成を下に図示します。アプリケーションを動かしてみるためには、Dockerが利用できることが必要になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/176567/8210dc7f-df06-9a38-9a85-27464ef28afa.png)

## クイックスタート

githubからリポジトリを取得します。ディレクトリを移動します。

“`
git clone https://github.com/couchbaselabs/try-cb-java.git
cd try-cb-java
“`

移動先のディレクトリで、`docker-compose`を以下のように実行します。

“`
docker-compose up
“`

### Couch

元記事を表示

[Unity] Android NativePluginの実装の仕方

# はじめに
Unityで使用するNativePluginのタスクがあったのでとりあえずテストでサンプルを作成してみました。
ここでは、Nativeのアラートを表示させるまでの忘却録です。

## 準備
macOS Catalina: 10.15.7
Unity 2018.4.19f
Android Studio 4.0.1

## Android Studioでプロジェクトを作成

今回は「AndroidStudio4.0.1」で作成していきます。
![android001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1022988/b27ed595-5ee7-4a67-ebd3-cbaedaff4da0.png)

「Select a Project Template」で「No Activity」を選択
![android002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1022988/a0bb70e2-948

元記事を表示

1分で、macのjavaバージョンを切り替え

> 会社では定期的に欲しいノートパソコンに交換してくれますが、私はMac Proに交換してもらいました。openjdkを使うので問題ないと思っていたのですが、legacy案件の中ではjavaが1.7や1.8でないと動かない場合がありました。その時、バージョン切り替えしながら分かった近道を皆さんと共有したいと思います。

#環境
シェルはzshで設定・確認します。

#実施
##javaバージョン確認する
javaのバージョンを確認してみましょう。
zshでは-v, –version , -V , –VERSIONなどはNGです。

“`zsh
java -version
where java # 居場所を確認
“`
##javaのパスを通しましょう
Windowsではパス登録が簡単だったが、なんだかMacでは環境変数が保存されない
それで見つけたのが下記の方法でした。ちなみにRCはRun Commandの略語です。
一言で、シェルで設定ファイルです。

### 1. エディターが開く

“`zsh
open ~/.zshrc
“`

### 2. javaの指定しよう

元記事を表示

Java Silver 4章 繰り返し文と繰り返し制御文

#while文
while(条件式){
処理文(条件式がTrueであり続ける間繰り返される)
}
{}を省略する場合、処理文は下1行のみ

“`java
public static void main(String[] args) {
int num = 0;
while(num > 0){
System.out.print(num + ” “); //なにも出力されない
num–;
}
}
“`
#do-while文
do{
処理文;
}while(条件式);
{}を省略する場合、処理文は下1行のみ

“`java
public static void main(String[] args) {
// while の場合
int count = 5;
while(count != 5 && count > 0){
System.out.println(“while : count = ” + count);
count–;
}
// do-while の場合

元記事を表示

[SpringMVC]値を正規表現でバリデーションする

Tipsです。手短に。

`@Pattern`アノテーションを利用して、クラスプロパティの値を正規表現でチェックする方法を紹介します。
よかったら いいね だけお願いします。

## 手順
1. build.gradleにライブラリを追記
1. フィールドにアノテーションを追記

## build.gradleにライブラリを追記
“`gradle:build.gradle
dependencies {
implementation ‘org.hibernate.validator:hibernate-validator’
}
“`

## フィールドにアノテーションを追記
“`java:Sample.java
import javax.validation.constraints.Pattern;

public class Sample {

@Pattern(regexp=”^[a-zA-Z0-9]{3}”, message=”3文字でおねシャス”)
String value;

“`

## 他のアノテーションも知りたい

元記事を表示

#3 Javaマスターへの道 1

#はじめに
大学1年生です。
学校でJava のプログラミングについて学習しているので復習も兼ねて投稿していきます。
これから勉強するって人は一緒に頑張っていきましょう!

#目次
1.プログラミングとは
2.Javaのプログラム
3.プログラムの要素
4.バグ

#1.プログラミングとは
プログラムで伝える命令は、コンピュータが解釈できる文法をもつプログラム言語で書く必要があります。この文法を学ぶことがプログラミングを習得することになります。
コンピュータは命令がないとまったく動きません。コンピュータに何か仕事をしてもらうには命令の羅列である**プログラム**を作る必要があります。
プログラムを作ることを**プログラミング**といいます。

#2.Javaのプログラム
Javaのプログラムは以下のような形をしています。

“`Java
package cp1;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタ

元記事を表示

JDKをインストールして実行環境を作る(後編)

<目次>
◆ Open JDK のインストールと設定
・インストール
・フォルダ構成
・PATHとJAVA_HOMEの設定

◆ お試しJava
・コマンドプロンプトで「Hello World!」

***

##◆ Open JDK のインストールと設定
####・インストール
インストールは以下から行います。
http://jdk.java.net/
https://bit.ly/3DPaiuS

zipファイルがダウンロードされるので、任意の場所に展開します。

####・フォルダ構成
フォルダ構成について概要を説明します。

#####<bin>
以下の記事の説明がわかりやすかったので、引用させていただきます。
参考 – 東京ウェブ制作 大和賢一郎代表 FAQ(よくある質問と回答)
http://www.1mouke.com/hpbldr_faq/faq00000059.html
> bin は binary(バイナリ)の頭文字です。
ソフトウェアを構成するファイルの動作モジュールのことを「バイナリファイル」と呼びます。
車で言えば「エンジンの中身のパーツ」に相当します。例

元記事を表示

【22章】Javaを学ぼう

今回の記事では、「【21章】Javaを学ぼう」までのプログラムの内容に、「【18章】Javaを学ぼう」で完成させた自己紹介プログラムのPersonクラスと組み合わせて、乗り物をある人間が所有している状況を表現してみたいと思います。
私自身のアウトプットの場となりますので、よろしくお願いいたします!

#前提条件(これまでの復習)
これまで学習してきた内容を載せておきます。今回はJavaを学ぼうの【1章〜21章】の知識が必要になります。

“`java:Main.java
import java.util.Scanner;

class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Car car = new Car(“フェラーリ”, “赤”);
Bicycle bicycle = new Bicycle(“ジオス”, “青”);

System.out.println(“【車の情報】”);
car.printDa

元記事を表示

【21章】Javaを学ぼう

今回の記事では、前章で作成したプログラムをもう少し高度な継承を学び、さらに改良していきます!
私自身のアウトプットの場となりますので、よろしくお願いいたします!

念の為、前章まで進めてきたプログラムの内容を載せておきます。下図をご確認ください。

“`java:Main.java
import java.util.Scanner;

class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Car car = new Car();
car.setName(“フェラーリ”);
car.setColor(“赤”);
Bicycle bicycle = new Bicycle();
bicycle.setName = (“ジオス”);
bicycle.setColor = (“青”);

System.out.println(“【車の情報】”);

元記事を表示

【20章】Javaを学ぼう

前章(【19章】Javaを学ぼう)で自転車と車のプログラムを作成しました。今回は重要な「オブジェクト指向」である継承について学び、さらに作成したプログラムを改良していきたいと思います!
私自身のアウトプットの場となりますので、よろしくお願いいたします!

#継承とは
既存のクラスのフィールドやメソッドを別のクラスに引き継ぐ機能を**「継承」**といいます。さらに継承してできる新しいクラスには独自のフィールドやメソッドを追加してカスタマイズすることも可能です。継承されるクラスを**「スーパークラス」**、継承してできる新しいクラスを**「サブクラス」**と呼びます。

##CarとBicycleの重複
CarクラスとBicycleクラスは、下図のように重複があります。コードの重複は修正・改善のしやすさなどを下げるため、できるだけ避けなければなりません。

“`java:Car.java
import java.util.Scanner;
class Car {
private String name;
private String color;
private int dista

元記事を表示

OTHERカテゴリの最新記事