JAVA関連のことを調べてみた2023年01月16日

JAVA関連のことを調べてみた2023年01月16日
目次

ABC285A~Eの解答[Java]

## はじめに
今回はコンテスト中にEまで解けたのでそれをそのまま載せようと思います。

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

## A – Edge Checker 2
問題文は[こちら](https://atcoder.jp/contests/abc285/tasks/abc285_a)

子は親の$2$倍か$2$倍+$1$なので、それを判定してあげれば良いと思い実装しました。
“`A.java
class Main{

static final boolean autoFlush = false;
static final Library System = new Library(java.lang.System.in,java.lang.System.out,java.lang.System.err,autoFlush);

public static void main(String[] args){

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

//制約上a<

元記事を表示

SplashScreenについて(静止画編)

こんにちはandroidでアプリ開発を学習中のみのむしと申します。
今回は、SplashScreenを学びましたので、実装方法を忘備録として残したいと思います。

SplashScreenを表示させるActivityを作成する

今回は、新規作成したActivityにSplashScreenを表示させ、その後にMainActivityにIntentする流れで作成していきます。

drawableに新規xmlファイルを作成する

“`xml




元記事を表示

開発現場に入る前に知りたかったeclipseの便利機能(ショートカット中心)

以下はすべて開発現場にはいってから知ったショートカットです。
知らないと全然ソースを追えないものもあるので覚えておきましょう。
(以下の「+」は「+」の右と左のキーを同時押しするという意味で「+」自体を実際に押すわけではない)

# ctrl + t
ソースを追う中でinterfaceが出てきた際に、その実装を探すために使う。
interfaceのクラス名にフォーカスを当てて使用すると、そのinterfaceを実装している
クラスがポップアップで表示される。

# ctrl + alt + H
あるメソッドにフォーカスを当てて使用すると、どこから呼び出されているかを確認したり、影響範囲を調べるのにも使える。
eclipseでは呼び出し階層タブに表示される。

# F3
変数やメソッド名にフォーカスを当てて使用すると、それらの宣言場所まで飛ぶことができる。
初期値や処理を確認したいときに使用する。

# alt + right、alt + left
ソースを追う中で一つ前にみていたおおよその位置やファイルに戻る。

# ctrl + shift + P
for文やif文などの始まりと終わ

元記事を表示

twitter-api-java-sdk (Twitter API v2) でツイートする

Java から Twitter API にアクセスするときは、[Twitter4J](https://twitter4j.org/) が定番です。
ただ、せっかく新しい Twitter API v2 とそれに対応した公式の [twitter-api-java-sdk](https://github.com/twitterdev/twitter-api-java-sdk) が出ていたので、今回はこちらを使ってみました。
その際の、ツイートするまでの手順とサンプルコードをまとめました。

必要な手順は以下の3つです。

1. 開発者情報を登録
1. “Client ID” と “Client Secret” を取得
1. “Access token” と “Refresh token” を取得
1. Twitter API Java SDK でツイート

# 開発者情報を登録

1. [Twitter Developers](https://developer.twitter.com/en/portal/petition/essential/basic-info) を開く
1. 開発者情報

元記事を表示

Java Ramdomクラスの使い方

・Ramdomクラスとは

 Ramdomクラスは、指定した数字からランダムに1つ生成するクラスである。

“`Java:Ramdom
//Ramdomクラスのコンストラクタ、新規乱数ジェネレータを作成する。
Ramdom ramdom = new Ramdom();
//nextIntの引数には出したい個数を入れる。
//10といれた場合10桁かつ0~9の10個の中からランダムで生成される。
int ramdomInt = ramdom.nextInt(10);
//nextIntのあとに+で入れる数字によって生成される数字を操作することができる。
//今回の場合は, +1 なので 1~10 の10個の中からランダムで生成されるようにできる。
int ramdomInt1to10 = ramdom.nextInt(10) + 1;
“`

元記事を表示

Java, Springboot、Thymeleafの設定まで

・はじめに

 この記事では、Spring BootでのWeb開発の始め方について書いていきます。
 使用するIDE: IntelliJ IDEA

・Spring initializrからダウンロード

 Spring initializrは、Spring bootアプリケーションをはじめるためのキットをダウンロードできるサービスです。このページからひな形をダウンロードします。
https://start.spring.io/

ビルドツールの選択はMaven, Project Metadataに設定を入力します。
Dependenciesではあらかじめフレームワークを簡単に組み込むことができます。ここで使いたいフレームワークを選ぶと、フレームワークが設定された状態でダウンロードができる。(ここで設定しなくても後から設定できる)

・Tomcatの設定

 右上にある現在のファイルをクリック⇒実行構成の編集⇒新規追加⇒アプリケーションを選択する。名前を`Tomcat`にしてビルドと実行の右にあるメインクラスを選ぶ。

元記事を表示

JavaのパッケージとクラスライブラリとAPIドキュメント

## パッケージとは
**パッケージ**とは複数のクラスをまとめる仕組みの事。
Java には、多くのプログラムで共通に必要とされる機能を持ったクラスがあらかじめ用意されていてこれらを総称して**クラスライブラリ**と呼び、クラスライブラリを活用することで、プログラムに高度な機能を簡単に組み込むことができる。
例えば、に文字列を出力するためのSystem.out.printlnという命令文も、クラスライブラリに含まれるPrintStreamというクラスの機能を使っている。
クラスライブラリに含まれるクラスやインタフェースは、用途やその種類に応じて**パッケージ**と呼ばれる単位で分類されている。

## パッケージ化の宣言
複数のクラスをまとめるにはファイルの先頭行で**パッケージ化の宣言**をする。宣言するには**packageキーワード**を使い package パッケージ名;」とする。
“`:例文
// package パッケージ名;
package pack;

public class Student{
:
}
“`
package パッケージ名;とした後に

元記事を表示

Javaのインターフェース

## インターフェースとは
Javaはクラスと**インターフェース**を作る事が出来る。
インターフェイスとは、ある特定の機能を実現するために必要なメソッドのシグニチャ(名前や引数、戻り値の型)だけを定義したもので処理そのものは持たない。
インターフェースでは**定数**と**抽象メソッド**のみを定義する事が出来る。
定義方法の基本の形は以下で**interface**キーワードを使用する。
“`:
interface インターフェイス名 {
型 メンバ変数;  
戻り値 メソッド名(引数1, 引数2, …);
}
“`
インターフェイスに定義した変数やメソッドはコンパイルされた時点ですべてpublicとして扱われ、メンバ変数は自動的にpublic static finalが付与されるため、**定数に変換される。**
またメソッドは自動的にpublic abstractが付与されるので**抽象メソッドになる。**

“`:例文
interface Englishable{
      // ↓ public static finalが付与される

元記事を表示

Get通信とPost通信の実装の違いをSpringBootで解説してみた

Get通信とPost通信の違い

この記事では、Get通信、Post通信におけるURLの違いと、パラメータの受け取り方をメインに扱います。
Get通信、Post通信とはなんぞや?という方や、Get通信やPost通信の使い分けに関して知りたい!という方は記事の対象外となります。あらかじめご了承ください?‍♂️

URLの違い

Get通信は、URLに対して、クエリ(パラメータ)を設定することができます。
URLの?が「ここからがパラメータの始まりだよ〜」という意味を示しています。
値の渡し方は【パタメータ名=値】で渡されます。
&でパラメータを複数渡しています。
“`
URL(Get通信)
 /test?id=1&name=test
“`

Post通信はパタメータをURLにくっつけずに、値を渡す方式です。
formタグの中の要素を渡すことができます。
“`
URL(Post通信)
 /test