- 1. gmailの設定等
- 1.1. Java で System.getProperty(“xxxx”) で取得される値の一覧を調べる
- 1.2. Leetcode 374. Guess Number Higher or Lower
- 1.3. GraalVMのインストールで実行したことのメモ
- 1.4. Javaで何か作ってみる(2022/11/15 Day26)
- 1.5. 重大: サーブレット [action] のServlet.service()が例外を投げました
- 1.6. Leetcode 540. Single Element in a Sorted Array
- 1.7. Leetcode 222. Count Complete Tree Nodes
- 1.8. テストスライスアノテーションを使う場合 @SpringBootApplication 付与クラスに直接DIしない方が良い
- 1.9. Javaで何か作ってみる(2022/11/14 Day25)
- 1.10. 【Android_java】AndroidStdioでアクションボタンを追加する方法
- 1.11. 【Android_java】関連まとめ記事
- 1.12. Leetcode 200. Number of Islands
- 1.13. Javaで何か作ってみる(2022/11/13 Day24)
- 1.14. Leetcode 1870. Minimum Speed to Arrive on Time
Leetcode 766. Toeplitz Matrix
# 766. Toeplitz Matrix
https://leetcode.com/problems/toeplitz-matrix/description/## アプローチ
### Brute-force
“`java
func isToeplitzMatrix(matrix [][]int) bool {
for i := 0 ; i < len(matrix) -1 ;i++{ for j := 0 ; j < len(matrix[0]) - 1 ;j++{ if matrix[i][j] != matrix[i + 1][j + 1]{ return false } } } return true } ```
Javaで何か作ってみる(2022/11/16 Day27)
## 今日やった事
– Javaの動画教材の演習問題である、ケーキ屋プログラムの作成を行った。
→コミットした内容は[こちら](https://github.com/takamatsuryota3/Java/commit/1acea849a55c752fdd48b639000dfad668cbd367)
## 参考にしたもの
– [【超絶丁寧解説】Javaプログラミングをゼロから学ぶ!絶対挫折させない「基礎入門」講座【講師評価4.3】](https://www.udemy.com/course/uz-java-kiso/)
→今回取り組んだのは、この動画教材の中の、**J1-EX1_総合演習(アルゴリズム)** の**総合演習(ケーキ屋プログラムの作成)** になる。
## 所感
– 大方ケーキ屋プログラムを完成させる事が出来た。
– Integer.parseIntの例外処理等、一部出来ていないところがある。
## 明日の予定
– 明日は、ケーキ屋プログラムの残りをやり切る。
– その後は、動画教材の続きから進めていく。
– (これは余談だが)明日、Ama
Java参考動画
https://www.youtube.com/channel/UC42DlV-0RDb6fJ8A3IbAang
https://www.youtube.com/watch?v=z51UcYdiCZM&list=PLXXalsdlzX-IuXHRLIrw9G55Hw6oiXQGS
#7 Bootstrapを利用して画面の作成[1. 環境設定]
# #7 Bootstrapを利用して画面の作成[1. 環境設定]
この記事ではBootstrapを利用した画面デザインの作成をしていきます。
画面デザインはアプリケーション作成で重要視され、画面デザインではBootstrapというフレームワークがよく使われます。
また、スマートフォンにも対応した画面を作ることもできます。# 前回まで
前回はOracleデータベースとの接続を行いました。今回の記事では前回使用したプロジェクトを継続して用います。https://qiita.com/Jackoguro/items/808d9fff90f39962c3cd
# 構築環境
1. 各バージョン
– Spring Boot ver 2.7.5
– jquery ver 3.5.1
– bootstrap ver 4.5.3
– webjars-locator ver 0.402. 依存関係
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884987/659bbe6b-9e92-99
Leetcode 1926. Nearest Exit from Entrance in Maze
# 1926. Nearest Exit from Entrance in Maze
https://leetcode.com/problems/nearest-exit-from-entrance-in-maze/description/## アプローチ
### BFS“`java
class Solution {
public int[] dx = {1, 0, -1, 0};
public int[] dy = {0, 1, 0, -1};
public int height;
public int width;
public boolean[][] isVisited;
public Queueq;
public int result = Integer.MAX_VALUE;public int nearestExit(char[][] maze, int[] entrance) {
height = maze.length;
width =
Javamailを学んだので応用してお問い合わせフォームっぽいのをつくってみた
こんにちはandroidでアプリ開発を学習中のみのむしと申します。
今回は、Javamailを勉強したため応用してお問い合わせフォームっぽいのを作ってみました。仕組みとしては、送信元アドレスと送信先アドレスを設定し、
一度メールを送信したら以降はメールの本文の中に記載したユーザーのアドレス
と送信先アドレス間でやり取りを行うイメージです。gmailの設定等
今回はSMTP通信を使って実装していきます。
また、以前までは、gmail内にある「セキュリティ > 安全性の低いアプリのアクセス」を有効にする設定を行うことでSMTP通信が可能でしたが、2022年5月30日より、ユーザー名とパスワードのみでGoogleアカウントにログインするサードパーティ製のアプリとデバイスについてサポートが終了してしまったため、こちらの方法が使えなくなってしまいました。
そのため、今回は以下のサイトを参考にしながらアプリパスワードを発行し、SMTP通信を許可していきます。
https://itblogdsi.blog.fc2.com/blog-entry-470.html
Java で System.getProperty(“xxxx”) で取得される値の一覧を調べる
## やりたいこと
`java.lang.System#getProperties` から取得できる値の一覧を調べます。## 手法
* 以下のようにして調査すれば一覧が確認できます。
“`java
public class HogeMain {
public static void main (String… args){
System.getProperties().list(System.out);
}
}
“`
Leetcode 374. Guess Number Higher or Lower
# 374. Guess Number Higher or Lower
https://leetcode.com/problems/guess-number-higher-or-lower/description/
## アプローチ
### 二分探索
O(log n)“`java
/**
* Forward declaration of guess API.
* @param num your guess
* @return -1 if num is higher than the picked number
* 1 if num is lower than the picked number
* otherwise return 0
* int guess(int num);
*/public class Solution extends GuessGame {
public int guessNumber(int n) {
int start = 1;
GraalVMのインストールで実行したことのメモ
JavaをDockerやLambdaなどコンテナサーバレス環境でJavaを使うにあたって新しいランタイムを試したかったので環境設定をメモする。
GraalVMの情報については以下からダウンロードを実行する。
英語だけど基本的にインストール方法などは全部乗ってる。
[https://www.graalvm.org/22.1/docs/getting-started/windows/](https://www.graalvm.org/22.1/docs/getting-started/windows/)解凍後以下場所にダウンロードしたファイルを配置する。
※以降はgraalvm-ce-java19の場合
C:\Program Files\Java\graalvm-ce-java19-22.3.0
## IntellJでの設定(Windows場合)
プロジェクト構造を選択
![figure1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89244/24043dea-7169-3565-51
Javaで何か作ってみる(2022/11/15 Day26)
## 今日やった事
– Javaの動画教材の演習問題である、Jihanプログラムの作成を行った。
→コミットした内容は[こちら](https://github.com/takamatsuryota3/Java/commit/debd8725465fdbfadf83c547f16ce5576f07d72f)
## 参考にしたもの
– [【超絶丁寧解説】Javaプログラミングをゼロから学ぶ!絶対挫折させない「基礎入門」講座【講師評価4.3】](https://www.udemy.com/course/uz-java-kiso/)
→今回取り組んだのは、この動画教材の中の、**J1-EX1_総合演習(アルゴリズム)** の**総合演習(Jihanプログラムの作成)** になる。
– [[Java]Integer.parseIntメソッドの使い方とは?parseIntメソッドやparseUnsignedIntメソッドの使い方・例外の発生するケース・配列の変換Javaコラム](https://www.fenet.jp/java/column/java_tips/664
重大: サーブレット [action] のServlet.service()が例外を投げました
疲れた
数時間ハマった。
Strtusで突然このエラーが発生して
Actionが呼び出されなくなった。なぜかわからなくて調べ始めたけど、なかなかわからない。
検索してもactionがservlet.service()のエラーは見つからない。
jspはあるのだけど。このエラーは、これしかエラーログが出ないので、
何が原因で起こっているのか全く分からない。原因は、ActionFormで
送信する時、List
xxx;
とするのが定番だけど、試しに
Integer[] xxx;
にしてみたせいだった。作っていたコードがArrayの方が都合がよかったので、
これで動くか試していたのだけど、色々やっているうちに変更したことを忘れていた。
もう忘れないように書き残しておこう
Leetcode 540. Single Element in a Sorted Array
# 540. Single Element in a Sorted Array
https://leetcode.com/problems/single-element-in-a-sorted-array/description/
## アプローチ
### Hashmap“`java
class Solution {
public int singleNonDuplicate(int[] nums) {
if(nums == null || nums.length == 0){
return 0;
}
HashMaphashMap = new HashMap<>();
for (int num : nums) {
hashMap.put(num, hashMap.getOrDefault(num, -1) + 1);
}return hashMap.keySet().stream().
Leetcode 222. Count Complete Tree Nodes
# 222. Count Complete Tree Nodes
https://leetcode.com/problems/count-complete-tree-nodes/description/
## アプローチ
### DFS“`java
class Solution {
public int countNodes(TreeNode root) {
int size = 1;
if(root == null){
return 0;
}if(root.left != null){
size += countNodes(root.left) ;
}
if(root.right != null){
size += countNodes(root.right) ;
}
return size ;
}
}“`
テストスライスアノテーションを使う場合 @SpringBootApplication 付与クラスに直接DIしない方が良い
# 概要
`@SpringBootApplication`を付与したクラスに直接DIをした場合、`@DataJpaTest`や`@WebMvcTest`といったテストスライスアノテーションを利用したテストの実施時に、`NoSuchBeanDefinitionException`が出て失敗することがある。
なぜそうなるのか調査したので、そのメモを残す。# どういう事象なの?
下記のような`@SpringBootApplication`を付与したクラスがあるとする。
“`java
@SpringBootApplication
public class SlicetestApplication {private final HelloService helloService;
public SlicetestApplication(HelloService helloService) {
this.helloService = helloService;
}public static void main(String[] args) {
SpringA
Javaで何か作ってみる(2022/11/14 Day25)
## 今日やった事
– Javaの動画教材の演習問題である、Jihanプログラムの作成を行った。
→コミットした内容は[こちら](https://github.com/takamatsuryota3/Java/commit/2ead947186b9f5a81c699bc1246d17898448e6cc)
## 参考にしたもの
– [【超絶丁寧解説】Javaプログラミングをゼロから学ぶ!絶対挫折させない「基礎入門」講座【講師評価4.3】](https://www.udemy.com/course/uz-java-kiso/)
→今回取り組んだのは、この動画教材の中の、**J1-EX1_総合演習(アルゴリズム)** の**総合演習(Jihanプログラムの作成)** になる。
– [[Java]Integer.parseIntメソッドの使い方とは?parseIntメソッドやparseUnsignedIntメソッドの使い方・例外の発生するケース・配列の変換Javaコラム](https://www.fenet.jp/java/column/java_tips/664
【Android_java】AndroidStdioでアクションボタンを追加する方法
– 基本的にスクリーンショットが多い記事になりますのであらかじめご了承ください。
※この記事はあくまでも勉強を始めたばかりの自分メモになります。# アクションボタンの追加方法
Androidアプリでよく使用される右上のボタン(**アクションボタン**)の実装方法になります。
![3.アクションボタン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2962146/01fc4e16-da2e-b637-b526-a652b6a9b005.png)## xmlファイルの準備
### メニューxmlファイルを用意する1. プロジェクトを立ち上げる。
2. オレンジ枠で囲まれている`res`フォルダの中に`新規`で`Androidリソース・ファイル`を選択。
![1.新規メニューxmlを作成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2962146/7ef305c8-6f87-88e3-9d66-3823b
【Android_java】関連まとめ記事
# 【Android_java】関連まとめ記事
– アンドロイド開発の勉強として自分メモの代わりに作成した記事のまとめになります。
– 順不同で掲載していきますので、記事を探さす際は`Ctrl+F`で検索することをお勧めします。## 記事
– 【Android_java】AndroidStdioでアクションボタンを追加する方法
https://qiita.com/PONchan9848/items/6a2dec1b3173659dc123
Leetcode 200. Number of Islands
# 200. Number of Islands
https://leetcode.com/problems/number-of-islands/
## アプローチ
– BFS“`java
class Solution {
public int numIslands(char[][] grid) {
int height = grid.length;
int width = grid[0].length;
boolean[][] isVisited = new boolean[height][width];
int[] dx = new int[]{1, 0, -1, 0};
int[] dy = new int[]{0, 1, 0, -1};int result = 0;
for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) {
Javaで何か作ってみる(2022/11/13 Day24)
## 今日やった事
– Mac環境で、VSCodeでJavaプログラムが実行出来るように開発環境を構築した。
## 参考にしたもの
– [Visual Studio CodeでJavaプログラム開発環境構築 – Qiita](https://qiita.com/jsj05543/items/da54e5db258bc9d2538a)
– [Java環境構築(Adoptium(旧:AdoptOpenJDK))](https://zenn.dev/sasakiki/articles/54f68ee1576380)
– [Javaの開発環境(Mac, VS Code) – Qiita](https://qiita.com/aoyaman/items/cd3ed987b8b704778144)
## 所感
– VSCodeの**Extension Pack for Java**の再インストールと、VSCodeの更新をしたら、設定出来た。更新出来てなかっただけだったのか。。。
## 明日の予定
– 明日からは、勉強がてら、Javaでサンプルプログラムを作成していく。
Leetcode 1870. Minimum Speed to Arrive on Time
# 1870. Minimum Speed to Arrive on Time
https://leetcode.com/problems/minimum-speed-to-arrive-on-time/description/
## アプローチ
* 二分探索を活用“`java
class Solution {
public int minSpeedOnTime(int[] dist, double hour) {
int start = 1;
int end = 1000000000;
int result = -1;while (start <= end) { int midSpeed = start + (end - start) / 2; double keisan = 0.0; for (int i = 0; i < dist.length; i++) { keisan = Math.ce