質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

JUnit

JUnitは、Javaで開発されたプログラムのユニットテストを行うためのアプリケーションフレームワークです。簡単にプログラムのユニットテストを自動化することができ、結果もわかりやすく表示されるため効率的に開発時間を短縮できます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

1回答

698閲覧

数値の0埋めがうまく表示されない JUnit Java テスト

KB24

総合スコア4

JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

JUnit

JUnitは、Javaで開発されたプログラムのユニットテストを行うためのアプリケーションフレームワークです。簡単にプログラムのユニットテストを自動化することができ、結果もわかりやすく表示されるため効率的に開発時間を短縮できます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2020/05/26 06:56

現在単体テスト、JUnitをおこなっております。
下記に掲載しているStringUtilTest.javaを実行した結果、

●testGetProd_no4()
期待する数値 
"A00010"  
実行結果
"A00008"

●testGetProd_no5()
期待する数値
"A00050"
実行結果
"A00040"

となってしまいました。
元になっているStringUtil.javaのformat文に問題があるかと思い、
調べてみましたが解決に至らなかったためご質問させていただきました。

期待する数値を表示させるためにはどのような対応が必要となりますでしょうか。
知識不足で申し訳ございませんが、ご教授いただけると幸いです。
よろしくお願いいたします。

package junit.app; public class StringUtil { public static String getProd_no(String prod_class_code, int no) { String prod_no = String.format("%s%05d",prod_class_code, no); return prod_no; } }
package junit.app; import static org.hamcrest.CoreMatchers.*; import static org.hamcrest.MatcherAssert.*; import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.Test; class StringUtilTest { @Test void testGetProd_no4() { assertThat(StringUtil.getProd_no("A", 00010), is("A00010")); } @Test void testGetProd_no5() { assertThat(StringUtil.getProd_no("A", 00050), is("A00050")); } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

getProd_noに渡しているint型の00010が8進数で解釈されて
A00008となっています。

期待値に合わせたい場合10を渡すことでA00010となるはずです。

投稿2020/05/26 07:35

June666

総合スコア290

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KB24

2020/05/26 07:42

ご回答いただき有難うございます。 10を渡したい場合、どのようにコードを書き換えればよろしいでしょうか。 聞いてばかりで申し訳ございません、、、
swordone

2020/05/26 07:43

この質問者、直前の質問で全く同じ指摘をされているはずなんですがね…
June666

2020/05/26 07:46

StringUtil.getProd_no("A", 00010)としているところの第二引数を 00010から10に変更することで引数を変更できます。
June666

2020/05/26 07:49

>swordone あ、本当ですね。。しかも私よりも詳しく回答して頂いているような・・
KB24

2020/05/26 07:50

June666さん、swordoneさん ご回答いただき有難うございます。 一つ前の質問と結びつけることができず申し訳ございませんでした、 ご指摘いただき有難うございます。 無事解決することができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問