- 1. テーブル作成 + Ajax(json) + Java(Spring Boot)
- 2. ListViewを2行表示してカスタマイズするには
- 3. while文について
- 4. ABC252のA~Cが解けたので書いた記事[Java]
- 5. Javaのswitch文について
- 6. スプラウトメソッドとスプラウトクラス
- 7. 【超初心者向け】javaでcsvファイルの任意の列を出力
- 8. 現場に出て学んだこと 1
- 9. 何もわからないけど、javaでwebアプリを作りたい!
- 10. 【JUnit】mockwebserverのtakeRequestでテストが止まる
- 11. 74 解答
- 12. 36 解答
- 13. 【Maven】Could not find artifact sun.jdk:tools:jar:1.8.0 at specified path
- 14. AtCoderのコンテスト解法一覧
- 15. Java17変更点メモ
- 16. たんたいてすとのかんたんな勉強会資料(Service)
- 17. auカブコム証券のkabuステーションREST APIで自前のトレイル注文の改善(残高管理方法変更)
- 18. 118 解答
- 19. 566 解答
- 20. 1週目Java 基礎
テーブル作成 + Ajax(json) + Java(Spring Boot)
### [table.html]
““
ListViewを2行表示してカスタマイズするには
# はじめに
こんにちは、Hideです。
javaに関する記事を投稿しています。今回は、ListViewをカスタマイズする方法を投稿します。
# ListViewとは
ListViewはスクロール可能なアイテムのリストを表示するViewグループです。
Adapterは配列またはデータベースなどからそれぞれの要素をリストに入れられるように変換し自動的に挿入してくれます。# カスタマイズするにあっての手順
ListViewの各行をカスタマイズするには以下の手順でする一つ目は1⾏分のレイアウトxmlファイル(row.xml)を⽤意する。
レイアウトの書き方は以下のような感じで書く(ファイル名は何でも良い)
“`text
“`
※レイアウトファイルを作成する際、ルートレイアウトタグの
android:layout_height
while文について
## while文とは
Javaのwhile文についてまとめてみた。
– while文は繰り返し処理の構文
– 書き方
` while(繰り返し条件){繰り返し処理}`
– 繰り返し条件の記述はfor文より単純。条件がtrueなら繰り返し処理を行う。“`Java
class Sample1_11_1 {
public static void main (String[] args) {/*コマンドライン引数で受け取った数字の累乗の数のうち、100未満のもののみを表示するプログラムを作る。
**【例】コマンドライン引数での入力:3 → 表示される数:3 , 9 , 27 , 81
*/int receiveNumber = Integer.parseInt(args[0]) ; //ループ毎にcalcNumberに掛ける数(コマンドライン引数で受け取った値)
//receiveNumberは常に3が代入されている
int
ABC252のA~Cが解けたので書いた記事[Java]
## はじめに
これはコンテスト中に解いた解法なので少々煩雑だとは思いますが、ご理解いただけると嬉しいです。では、コードを解説していきます。
## A – ASCII code
問題文は[こちら](https://atcoder.jp/contests/abc252/tasks/abc252_a)普通にint型をchar型に変型して出力してやればいいです。
“`A.java
import java.util.*;
class Main{
static Scanner sc = new Scanner(System.in);public static void main(String[] args){
//値の取得
int N = readI();
//Nをchar型に変型して出力
System.out.println((char)N);
}//以下使用したテンプレ
public static int readI(){return sc.nextInt();}
}
“`
最初言語をPythonとして提出しちゃ
Javaのswitch文について
Javaのswitch文についてどうも上手くいかなかったので、備忘録として記録。
ケーキと個数をコマンドライン引数で渡してやると、その合計金額が表示されるというプログラムをfor文とswitch文を駆使して作る。
まずは商品の情報を変数に代入。
“`Java
//商品名と価格を変数に代入
String cake1 = “ショートケーキ”;
int cakePrice1 = 320;
String cake2 = “モンブラン”;
int cakePrice2 = 350;
String cake3 = “チョコレートケーキ”;
int cakePrice3 = 370;
String cake4 = “いちごのタルト”;
int cakePrice4 = 400;
String cake5 = “チーズケーキ”;
int cakePrice5 = 300;
“`
次に入力したケーキがいくらなのかをswitch文で取り出し、それをfor文で繰り返し足していく。
“`Java
String order = “”;
for(int i =
スプラウトメソッドとスプラウトクラス
レガシーコードに向き合うために [レガシーコード改善ガイド](https://www.shoeisha.co.jp/book/detail/9784798116839) を読んでいます。
スプラウトメソッド、スプラウトクラス という用語を知らなかったので理解のために整理しました。## レガシーシステム開発時によくある状況
テストが存在しない既存のメソッドに、新たな要件を追加する場合を考えます。
安易に考えると既存のメソッドに直接新たなコードを追加してしまいますが、以下のような問題が発生する可能性があります。– 既存のコードをより混乱させてしまう。
– 新しく追加したコードと既存のコードの区別がない。
– テストが書けない。私は日々の業務でこのような状況によく遭遇します。
このような場合には、スプラウトメソッドやスプラウトクラスの利用を検討します。## スプラウトメソッド(Sprout Method)
既存のメソッドに直接新たな処理を追加するのではなく、**新しくメソッドを用意して処理を追加**します。
**既存のメソッドからは新しいメソッドを呼び出す**ようにします。
【超初心者向け】javaでcsvファイルの任意の列を出力
# はじめに
この記事は、ともに研修課題を解いている僕の同期を想定して書かれています。
超初心者向けです。# csvファイルの中身
メールアドレスが一列目、名前が二列目。
ここでは、名前を出力することを目指します。
1つのディレクトリにjavaファイルとcsvファイル(テキストファイル)を置いてください。
~~~
ieoronw@sample.co.jp,山田
uehi3ui.wjhi221@sample.co.jp,佐藤
1995hhfhhrh@sample.co.jp,田中
~~~# コード
クラスの外側を以下のように準備します。
クラス名はここでは Search とします。
~~~
import java.io.*;
class Search{
public static void main(String[] args)throws IOException{//コード
}
}
~~~
クラスの内側を以下のように準備します。
コマンドライン引数には*****.txtのようにファイル名のみ入力します。
~~~java:
File
現場に出て学んだこと 1
## 目次
・フラグ管理
・外部結合の仕様## 現場歴
2021/10/25 〜 現在 (2022/05/21)
業務内容:テスト業務/コード改修/開発## 本文
##### フラグ管理
if文を用いる条件分岐によって処理を変えることはよくあるが、[boolean型]のフラグを1つ追加することにより制御がより簡単になる。フラグ制御なし
“`java:flg.java
ublic class Main {/**
* 点数によって処理が変化するMainクラス.
*
* @param nayuta
*/
public static void main(String[] args) {
int score = 60;
Main main = new Main();// 国語のテスト
String Lresult = main.languageResult(score);
System.out.println(Lresult);
// 数学のテスト
String Mresult = main.mat
何もわからないけど、javaでwebアプリを作りたい!
SEになって4年目を迎えてしまい、何かやろうと焦っています。。。
基幹系システムしか知らないので、webアプリとか作ってみたいなと思い、綴っております。これは僕の作業記録です。よろしくおねがいします。
【JUnit】mockwebserverのtakeRequestでテストが止まる
# 概要
JUnitを書いていて、WebClientのUTを記載した際、takeRequestで実行内容を取得しようとするところでテストが止まる事象が起きた。同じとこで詰まってる人いたらのため記載。以下のようにぐるぐるなって進まない。
![テストファイル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/153118/3b0fa0bc-e7e4-5514-981a-760712951847.png)https://square.github.io/okhttp/3.x/mockwebserver/index.html?okhttp3/mockwebserver/MockWebServer.html
# 原因
原因説明のために以下にソースを記載する。
### テストソース
“`
MockWebServer mockServer = new MockWebServer();
mockServer.start();
baseUrl = String.format(“http:/
74 解答
この問題はbinary searchの使用を目的としている。
# 参考
[Nick White](https://www.youtube.com/watch?v=eT0UqrYuqbg)
# n^2“`Java
public boolean searchMatrix(int[][] matrix, int target) {
int m = matrix.length;
int n = matrix[0].length;for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) { if(matrix[i][j] == target) { return true; } } } return false; } ``` # logn ```Java public boolean searchMatrix(int[][] matrix, int target) { int rows = matrix.length; int columns
36 解答
# 参考
[Nick White](https://www.youtube.com/watch?v=Pl7mMcBm2b8) : LeetCode 36. Valid Sudoku (Algorithm Explained)
[GeeksforGeeks](https://www.geeksforgeeks.org/hashset-add-method-in-java/) : HashSet add() Method in Java
英語がわかる人は絶対こっちのほうがわかりやすいので、[Nick White]さんのYouTubeを見てね! (ステマではないです)# 解答
“`Java
public boolean isValidSudoku(char[][] board) {
Setseen = new HashSet<>();
for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { char current_val = board[i][j]; if (curre
【Maven】Could not find artifact sun.jdk:tools:jar:1.8.0 at specified path
Mavenにて `clean package` を実行したときに以下のエラー
“`
Could not find artifact sun.jdk:tools:jar:1.8.0 at specified path
“`# 環境
Windows
Maven v3.8.5
java v1.8.0
Jdk v1.8.0# 結論
環境変数内のJAVA_HOMEがJREを向いていたため、JDKに修正すると実行された。
エラーの中でruntimeがJREになっていたら、JDKになおしましょう。# 参考
https://www.eclipse.org/forums/index.php/t/1091063/
AtCoderのコンテスト解法一覧
## 注意書き
ここにリンクしている解説記事はあくまで私が解いた、一つの解法でしかないので、もっと良い解き方や正当な解き方があるかと思います。その上で閲覧していただけると幸いです。## Java
#### ABC
・[ABC252](https://qiita.com/viral_8/items/6eca40ee083f7c41237b)(A~C)
・[ABC004](https://qiita.com/viral_8/items/b94440d112f4dc80a05b)(A~C)
・[ABC003](https://qiita.com/viral_8/items/12bdf240e61b3891b71b)(A~C)
・[ABC002](https://qiita.com/viral_8/items/2fee8d217fa03132752e)(A~D)
・[ABC001](https://qiita.com/viral_8/items/4dcd86dbfc1acc09c04f)(A~D)## Python
#### ABC
・[ABC001](https://qiita.co
Java17変更点メモ
## 前提
Java17は2021/9にLongTermSupportバージョンでリリース。
Java8のEOLがJava11より後ろ、身の回りはJava11よりJava8利用が多いため、Java8から変更有無に特化。## モジュール管理
パッケージをまとめて管理⇛モジュール管理の導入。
とあるパッケージに含まれるライブラリが、とあるライブラリに依存して、更にそのライブラリが他のライブラリに依存するといった依存関係の解決が難しい。
そこでモジュール(module-info.java)を使用して、依存関係の定義を行えるようになった。### module-info.java
例: aはcは利用不可、aはdを利用可
“`python
module module.a {
requires module.b;
}
module module.b {
requires module.c;
retuires transitive moduke.d;
}module module.c {}
module module.d {}
“`## HttpClient導入
Htt
たんたいてすとのかんたんな勉強会資料(Service)
## これはなんですか
Java – Spring Boot の単体テストについて、勉強会の資料。しゃべることをまとめたもの。
## 世間一般で言うところの単体テスト
単体テスト(ユニットテスト、略してUTと呼ばれることもあります)は、プログラムを構成する比較的小さな単位(ユニット)が個々の機能を正しく果たしているかどうかを検証するテストです。 通常、関数やメソッドが単体テストの単位(ユニット)となります。
## なぜテストを書くのか&費用対効果の話
1. 主に反復型開発において、既存のメソッドの挙動を担保しつつ、新しい機能を盛り込んでいく過程でバグの発見することが容易になる
1. よく書かれたテストはそれだけでクラスの取り扱い説明書になる事情は多々あると思いますが、ぱっと見で単体テストを書くコストが高くつくからです。(ついているように見えるだけですが)
このコストをどう捉えるか?単体テストにどのような意味をもたせるかは会社やプロジェクトの方針に依るところが大きいと思います。
私の私見では、部分的でも8割位のプロジェクトでは書いたほうがよいと思いますが、2割位は書いても意
auカブコム証券のkabuステーションREST APIで自前のトレイル注文の改善(残高管理方法変更)
# はじめに
前記事
1. [auカブコム証券のkabuステーションREST APIをcurlで叩く](https://qiita.com/hiuchida/items/fcdd3d6ff921b386a37e)
2. [auカブコム証券のkabuステーションREST APIをjava(generated by the swagger code generator)で叩く](https://qiita.com/hiuchida/items/73b7fc846d4c9501ef2f)
3. [auカブコム証券のkabuステーションREST APIの残高照会をcurlとjavaで叩く](https://qiita.com/hiuchida/items/9eb5336755a3d1b1a3df)
4. [auカブコム証券のkabuステーションREST APIの残高照会から先物OPのdeltaを計算する](https://qiita.com/hiuchida/items/6e0d8d5114192bec1632)
5. [auカブコム証券のkabuステーションREST APIのテスト用モック
118 解答
参考:
[ArrayList, LinkedList の違い](https://qiita.com/BumpeiShimada/items/522798a380dc26c50a50)
[Nick White](https://www.youtube.com/watch?v=icoql2WKmbA)
# 解答
“`Java
public List> generate(int numRows) {
List> ans = new ArrayList<>();
if(numRows == 0) return ans;
List
first_row = new ArrayList<>();
first_row.add(1);
ans.add(first_row);//最初の要素は絶対1だからfor(int i = 1; i < numRows; i++) { List
prev_row = ans.get(i-1);
List
566 解答
参考:
[Nick White](https://www.youtube.com/watch?v=wCdNh9oThqk)
# 解答
“`Java
public int[][] matrixReshape(int[][] mat, int r, int c) {int m = mat.length;
int n = mat[0].length;if (m * n != r * c)
return mat;// もし引数のサイズと出力するサイズが合わないときint[][] ans = new int[r][c];
int row_ans = 0; // 出力用の行
int col_ans = 0; // 出力用の列
for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { ans[row_ans][col_ans] = mat[i][j]; col_ans++; if (col_ans == c) { //ココがやややこしい col
1週目Java 基礎
第1週目
Java基礎文法
intを利用した変数指定入力
long、int、short、byteなどがあり、
float,doubleboolean等の真の嘘のif文作成
文字は「」
文字列は”;小さいタイプのキャスティングに大きいのを入れる時
inti=(int)30L;こんな風にしなければならない\n=改行を入れること
フォーマットを作って使うともっと楽だmathクラスmax(10,30)=30
min等文字列数字相互変換
int i = Integer.parseInt(str);String str2 = String.valurOf(i);
このように相互変換可能ランダム値を受け取る
Random random = new Randon();
int rand = random.nextInt(bound4) + 5 //5
4までは走る
Javaで文字列を入力される場合
Scanner scan = new Scanner(System.in);String str = scanner.next();
int i = scanner.ne