JAVA関連のことを調べてみた2019年11月26日

JAVA関連のことを調べてみた2019年11月26日
目次

プログラミング学習3日目

この日記は昨日の学習記録です

Progate javaコース達成

取りあえずprogateのJavaコースを3日程で全て終わらせる事が出来た。
あまり理解しがたい箇所も多々あったので、明日からは「スッキリわかるJava入門 第2版」を学習していこと思う。

Progate JavaⅤ 学習内容

  • オブジェクト指向において重要なクラス継承のやり方と理解
  • 親クラスのメソッドをsuper()で使用する方法
  • 抽象メソッドの書き方、サブクラスでオーバーライド(上書き)、クラス型のフィールド理解

プログラミングなんて自分には出来るのだろうか?と悩んでいても始まらないので、この日記を見てくれている人は、自分と一緒にプログラミング学習を進めていこう!!!

元記事を表示

Android Studioでタブ文字が機能しない

Android StudioでTabキーを入力しても半角スペースが3つ入力されるだけでタブ文字になりません。助けて。

最新のAndroid StudioをWindows10で使用してます。
Settings > Editor > Code Style > Java > Tabs and Indentsの、『Use tab character』にはチェックを入れました。
半角スペースを4つもしくは8つ打ったりもしましたが変わらず。

“`Java
ArrayList answers = new ArrayList();
for (int i = 1; i <= 3; i++) { answers.add(quizSet.get(currentQuiz)[i]); } Collections.shuffle(answers); ``` quiz.txt```What is A? A0 A1 A2``` 簡単なクイズアプリを作っていて、 quiz.tx

元記事を表示

web(java)の制作必要なもの練習メモ 作成中

#web(java)の勉強をしているときに使ったものです

###フィルタ
javaリソース->srcにパッケージを作成
EncodingFilter(フィルター)を作成しdoFilterに
request.setCharacterEncoding(“UTF-8”);
response.setCharacterEncoding(“UTF-8”);
を設定することにより各サーブレットとjspに記述する必要がなくなる

ログを残すフィルタ
doFilterに
System.out.println( ((HttpServletRequest)request).getRequestURI() + “:” + new Date() );
に記述するとコンソールにアクセスログを残す

元記事を表示

Javaのポリモーフィズム super()について

ポリモーフィズムを改めて調べたのでまとめておく
今回はsuper()を深ぼって理解したい

**対象**

– なんとなくでJavaを書いている人

## super()とは、親クラスのコンストラクタである
**結論**である

具体例で試していこうと思う

## 具体例
“`Person.java
public class Person {
Person() {
System.out.println(“人間です。” + );
}
}
“`
“`Student.java
public class Student extends Person {
Student() {
System.out.println(“学生です。”);
}
}
“`
“`Main.java
public class Main {
public static void main() {
new Student();
}
}
“`
“`result
人間です。
学生です。
“`

## 解説
Stud

元記事を表示

アノテーションってなぁに?

#はじめに
勝手に始めた「なぁに?」シリーズ(というか、ただのメモ)。
今回はJavaのアノテーションについて。

知っているようで知らない(?)アノテーションの意味やメリットを簡単に整理する。

#アノテーションってなに?
+ Annotation = 注釈 の意。
+ コード中に “@” を使って記述する。
+ たとえば、以下のようなコードになる。

“`java
package hoge.nwobhm;

public class Metallica {
@Override
public String playMetal() {
return “riff”;
}
public static void main(String[] args) {
Metallica metal= new Metallica ();
System.out.println(metal.playMetal());
}
}
“`

#例えばどんなものがあるの?
具体的には以下のようなものがある。

+ Overri

元記事を表示

Javaプログラミング (static句と「クラス変数」)

#static句とクラス
メインメソッドのメソッド名の前についているstaticという文言についてです。
標準出力やクラスの書き方、呼び出し方を理解していれば読めると思います。
##クラス変数
普通、クラスはインスタンス化して使います。試しに次のメソッドを考えてみましょう。

“`java
public class Calculate {
private int s = 3;
public int multipleIntegerNumber(int num){
s = num + s;
s = num + s;
return s;
}
}
“`
これをメインメソッドの中で呼び出してみます。

“`java
public class Mainmethod{
public static void main(String[] args){

int result;

Calculate calculate = new Calculate();
result = calculate.multipleIntegerNumber(3

元記事を表示

【個人メモ】Java における乱数生成器とのつき合い方

https://k11i.biz/blog/2019/11/25/how-to-use-random-number-generator-in-java/

元記事を表示

Google Cloud Firestore で Channel ManagedChannelImpl was not shutdown properly!!! が発生する

## 概要

– Google Cloud Firestore API Client Library for Java で「Channel ManagedChannelImpl was not shutdown properly!!!」というエラーメッセージが出力される
– 今回の環境: Java 11 + Google Cloud Firestore API Client Library for Java 1.31.0

## エラーメッセージ例

“`
2019-11-25 05:57:46.557 ERROR 41081 — [nio-8080-exec-5] i.g.i.ManagedChannelOrphanWrapper : *~*~*~ Channel ManagedChannelImpl{logId=5, target=firestore.googleapis.com:443} was not shutdown properly!!! ~*~*~*
Make sure to call shutdown()/shutdownNow() and w

元記事を表示

最近噂のDart言語でjsアプリ作ってみた

最近噂の3倍生産性が良いFlutterにつられて色々調べていたら、dart言語なるものがあり、JSアプリ作ろうかなーって思っていたので、使ってみた。
https://dart.dev

facebookインスタントゲームとして、公開済み。
https://fb.gg/play/solitaireproworld

javaで開発したandroidアプリを移植した。
https://play.google.com/store/apps/details?id=jp.co.projapan.solitaire

ゲームアプリなので、StageXLフレームワークを使用。これはFlash風APIになってる。
http://www.stagexl.org

###良かった点
– ビルドが速い。5秒程度でリロードされる。慣れるとサクサク開発できて、超気持ちいい。
– Javaに似てるので、javaから移植しやすい。javaプログラマーは入りやすい。
– javaと比べると、文句なしでDartがいい。全然違う。Objective-Cはクソ
– 新しめの言語なので、変な制約が少ない。C++とかクソ

元記事を表示

try-with-resourseが便利

##リソースを自動で閉じる
ファイル開いて、try-catchして、閉じるみたいな
よくやると思うんですけれど
finallyとか使おうとすると

“`長い.java
// try
// ファイルを開く

// catch
// 例外処理

// finally
// ファイルを閉じる

public static void main(String[] args) {

String filePath = “C:\\Windows\\System32”;
BufferedReader bufferedReader = null;

try {
// ファイルを開く
File file = new File(filePath);

// 読み込み
FileReader fileReader = new FileReader(file);
bufferedReader = new BufferedReader(fileReader);

// 出力
String data;
whil

元記事を表示

Google Cloud Firestore で IllegalStateException: Firestore client has already been closed が発生する

## 概要

– Google Cloud Firestore API Client Library for Java で IllegalStateException: Firestore client has already been closed が発生する
– Firestore オブジェクトの close メソッドを呼び出した後で、 FirestoreOptions の getService メソッドで取得した Firestore オブジェクトを使用すると発生する
– 今回の環境: Java 11 + Google Cloud Firestore API Client Library for Java 1.31.0

## エラーメッセージ例

“`
java.lang.IllegalStateException: Firestore client has already been closed
at com.google.common.base.Preconditions.checkState(Preconditions.java:511)
at com.goog

元記事を表示

JavaでRocksDBを使用してみる

# RockDBとは
Key-Valueのデータ形式(バイト配列)を保持するデータベース。
C++で作られており、JavaからもJNIで使用できる。
ただし、JavaのAPIはC++のAPIに追いついていないとのこと。

Wiki
https://ja.wikipedia.org/wiki/RocksDB

# 使い方
以下に簡単な使用方法を記載します。
詳細は公式のドキュメントを参照してください。

https://github.com/facebook/rocksdb/wiki/RocksJava-Basics

## Maven
以下のライブラリを使用します。
RocksDbのみを使用する場合、rocksdbjniのみでOK。
シリアライズ、デシリアライズのためにkryoを追加しています。

“`xml

org.rocksdb
rocksdbjni
6.0.1

元記事を表示

Mavenで導入したKotlinのInterfaceに実装した関数を、Java8からデフォルト実装として利用する方法

# 概要
KotlinのI/Fにはデフォルト実装を定義できますが、Java側からそのデフォルト実装を利用するにはあらかじめ設定が必要です。
今回はその設定方法を書き記します。

# 前提
– Maven
– Kotlin 1.35
– Java 1.8

# 設定方法
### ①Kotlinのプラグインの設定
pom.xmlのkotlinをcompileさせることを定義している箇所の引数に、`-Xjvm-default=compatibility` を追加
例:

“`xml:pom.xml org.jetbrains.kotlin
kotlin-maven-plugin
${kotlin.version}


compile
compile

元記事を表示

【Java】条件文の個人的まとめ(基礎)

# 【Java】条件文の個人的まとめ(基礎)
エンジニアの t-77 です。
個人的にJavaの勉強で大事だなと思ったことをまとめました。
今回は、条件文についてです。

## ① if文
– if文は、条件がtrueだった場合に、そのブロック内の文を処理する。
– elseを使うことで、設定した条件以外がtrueとして判定され、そのブロック内の文を処理する。
– else ifを使うことで、複数の条件を設定可能。

“`sample.java
// numberの値によって、出力される言葉が異なる。
// number == 10 の場合、処理が実行される。
if (number == 10) {
System.out.println(“Wayne”);
// number == 11 の場合、処理が実行される。
} else if (number == 11) {
System.out.println(“Ryan”);
// numberが上記以外の場合、処理が実行される。
} else {
System.out.println(“other”);
}
“`
上記

元記事を表示

Spring フラッシュスコープを利用したリダイレクトと単体テスト

あるエンドポイントから別のエンドポイントにリダイレクトさせる際に、フラッシュスコープを利用するとリダイレクト先へパラメータを引き継がせることができる。
# コントローラ
以下のコントローラで`/from`にGETでアクセスした際に、`/to`へリダイレクトさせる。
リダイレクト元の処理で、`bookName`と`buyerList`をフラッシュスコープに突っ込んで、リダイレクト先へ引き継がせる。

“`java
package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import java.util.Arrays;
import jav

元記事を表示

Androidで文字を点滅するメソッドができてうれしい

 こんにちはヨースケです。文字列の一致に”==”を使っていました(笑)。equalsですね!

### 初めて作ったアプリで実装
 この文字を点滅させるメソッドは、初めてアプリを公開した時に実装したものになります。[計算問題付き電卓](https://play.google.com/store/apps/details?id=first.myapp.mycalc)←このアプリは名前の通り電卓に計算問題を出す機能を付けたアプリとなっています。計算問題がスタートするとタイマーをスタートさせ、全10問クリアするとタイマーがストップしそのタイムで点滅するようにしました。また、答え終わると過去のクリアタイムを表示するようにしています。

### ソースコード
 あんまり長ったらしくなってもよくないので稚拙なコードではありますが自分自身の備忘録として貼っておきます。

“`java:Quest.java
public class Quest extends AppCompatActivity {
private final Handler handler = new Handler();
//タ

元記事を表示

Cloud Firestore を Java から使う際のドキュメントまとめ

## Firestore 全般

– [Cloud Firestore  \|  Google Cloud](https://cloud.google.com/firestore/)
– [Cloud Firestore documentation  \|  Cloud Firestore  \|  Google Cloud](https://cloud.google.com/firestore/docs/)
– [Cloud Firestore  \|  Firebase](https://firebase.google.com/docs/firestore/)

## 料金

– [料金  \|  Cloud Firestore  \|  Google Cloud](https://cloud.google.com/firestore/pricing?hl=ja)
– [Firebase Pricing  \|  Firebase](https://firebase.google.com/pricing/?hl=ja)
– [使用量と制限  \|  Firebase](https:

元記事を表示

再帰下降構文解析法による数式の構文解析器の実装(Java)

職場のネット寸断が激しかったので久しぶりのネット活動です
タイトルは今のQiitaではあまり受けが良くなさそうな硬そうな命名にしてみました

要件で求められるパフォーマンスの関係で、再帰下降構文解析法で四則計算する解析器を作成しました
誰かの参考になるかもしれないので置いておきます

# 要件
バッチアプリで数式が文字列で取得されるので、それを計算して結果を返却したかったらしいのですが、その数が膨大でした
元々は、JavaからJavaScriptを呼び出して数式をそのまま渡して計算してもらうつもりだったそうなのですが、対象の式の数が何万何十万単位のため1日で終了しなかったようです

しかもこれからもどんどん増えるそうなのです!

当然次のジョブもあるので、その開始時間までに処理が終わるようにしなければなりません

そこで僕に何とかしてほしいと話がまわってきました
最初に話を聞いたときは、外部プログラム呼び出しでしかもJavaScriptで高速な計算処理ができるわけないがな、と思いましたが

ようは、高速な四則計算が可能な解析器を作成すればよいわけです
除算時の丸め誤差も制御したいらし

元記事を表示

Java11インストール後にEclipseが起動しなくなる現象

# はじめに

職場でJava11をインストールしたところ、Eclipseが起動しなくなりました。
当初は原因が全く分からずに苦戦したので、記録として記事を書くことにしました。

# 状況

## 当初の状態

以下のように古いJavaであったため、空いた時間でJavaのバージョンを上げることにしました。
なお、Eclipseは[Pleiades](https://mergedoc.osdn.jp/)の日本語化版を使っています。

* OS:Windows 10 Pro
* Java:Oracle Java 8
* Eclipse:Eclipse 4.6(Neon)

## Javaのバージョンアップ後の状態

無償で使えて簡単にインストールできる「Amazon Corretto」をインストールしました。

* OS:Windows 10 Pro
* Java:[Amazon Corretto 11](https://docs.aws.amazon.com/ja_jp/corretto/latest/corretto-11-ug/downloads-list.html)
* Eclip

元記事を表示

Javaプログラミング (クラスとインスタンス、メインメソッド)

#メインメソッド
Javaは必ずクラスで構成されます。クラスのなかで処理はメソッドに書かれます。メソッドのなかで、おおもとの操作や処理はメインメソッドというメソッドに書かれます。
##メインメソッドの書き方
メインメソッドは次のように書きます。クラス名は命名ルール通りにTestクラスとしましょう。

“`java
public class Test(){
public void main(String[] args){
/*
*メインメソッドの処理の中身
*おおもとの操作はここに書かれる。
*/
}
}
“`

ここで

“`java
public static void main(String[] args)
“`
という書き方は覚えてください。
ちなみに、publicとstaticの間のstaticはstatic句といい、メソッドや変数に付けられます。詳しい意味はここでは触れません。

意味があってこのようなルールになったらしいのですが、そこまで追求しなくてもいいと思います。
ただ、普通のメソッドの書き方になっていることは理解してください。

##クラスを使う
では、

元記事を表示

OTHERカテゴリの最新記事