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

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

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

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

Q&A

解決済

3回答

1106閲覧

Java計算式どう変更したらいいかわからない

退会済みユーザー

退会済みユーザー

総合スコア0

Java

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

0グッド

0クリップ

投稿2020/09/30 04:33

編集2020/10/02 15:28

Java

1package test; 2class nouNum { 3 public String Num01(String in){ 4 char[] out = in.toCharArray(); 5 int[] mul = { 1, 3, 7, 9, 7, 3, 1, 3, 9, 7, 1 }; 6 int n = Math.min(out.length, 11); 7 for (int i = 0; i < n; i++) 8 out[i] = (char)((out[i] - '0') * mul[i] % 10 + '0'); 9 return new String(out); 10 } 11} 12 13package test; 14 15public class test01 { 16public static void main(String[] args) { 17 nouNum test01 = new nouNum(); 18System.out.println(test01.Num01("20092812345")); 19 } 20} 21 22実行結果→ 20014416785

やりたいこと
引数 20092812345 → 2001441678522 としたい。

20092812345 * { 1, 3, 7, 9, 7, 3, 1, 3, 9, 7, 1 }  = 2(21) , 0(03), 0(07), 81(99), 14(27), 24(83), 1(11),
6(2
3), 27(39), 28(47),5(5*1)

2 + 0 + 0 + 81 + 14 + 24 + 1 + 6 + 27 + 28 +5 = 188
188 → 百の位は無視する。
十の位はマイナス10する。
一の位はマイナス10する。

上記の計算式を実現するにはどうしたらいいか教えて頂きたいです。

Java

1public class test11 { 2 3 public static void main(String[] args) { 4 // TODO 自動生成されたメソッド・スタブ 5 6 class nouNum { 7 //引数で"20092812345"(inData)を受け取る 8 public String test(String inData){ 9 //引数で受け取る変数をchar[]で作成する 10 char[] no02 = inData.toCharArray(); 11 //no02の値の桁を1桁づつ取り出して掛けるための配列の変数を作成する 12 int[] mul = { 1, 3, 7, 9, 7, 3, 1, 3, 9, 7, 1 }; 13 //引数の値の11桁目まで計算するための変数を作成する。 14 int n = Math.min(no02.length, 11); 15 //引数の値と1文字づつ取得した桁に対して掛けた値の合計値を保持するための変数を作成する 16 int total = 0; 17 //引数の値を1文字づつ取り出す 18 for (int i = 0; i < n; i++) 19 //数字を数値に変換して掛けたものを配列に入れる 20 total = (char)((no02[i] - '0') * mul[i] + '0'); 21 //掛けた値の1の位の値を入れる変数の箱を作成する 22 char[] no03 = (char)((no02[i]- '0') mul[i] % 10 + '0'); 23 //合計から10の位を取り出して10からその値を引いた値にする 24 int a = total.getNumbericValue(i); 25 //10の位を取り出す 26 int a01 = a / 10 % 10; 27 //ただし10は変換しない 28 if(a01 != 0) a01 = 10 -a01; 29 //合計から1の位を取り出し10からその値を引いた値にする 30 int b = total.getNumbericValue(i); 31 //1の位を取り出す 32 int b01 = total % 10; 33 //ただし0は変換しない 34 if(b01 != 0) b01 = 10 -b01; 35 //掛けた値の1の位だけ表示した値をint型に変換する 36 int c = no03.getNumbericValue(i); 37 //returnしたい値の変数の箱を作る 38 int Num01 = c + a01 + b01; 39 40 return String.valueOf(Num01); 41 } 42 } 43 44 } 45}

理解と分解を頂いたアドバイスを元に自分なりに作成してみたのですが、ものすごく長いコードになってしまいました。
この理解と分解の仕方は検討ちがいでしょうか?
アドバイス頂けないでしょうか?

分解
1、
予約受付番号を暗号化計算ロジックにより暗号化し、他者からの不正なアクセスや情報漏洩から守るための
セキュリティ対策をする。

2、
扱うデータ : 予約受付番号データ
暗号化した予約受付番号データ
暗号化するための計算ロジックデータ

 機能    : 繰り返し(for)
型の変換  //機能として入れていいのか不明
代入    //機能として入れていいのか不明
条件式(if)
計算式1 (掛け算した結果の1の位の剰余算)
計算式2 (掛け算、足し算、1の位と10の位の剰余算、引き算)
3-1、 大きく6項目
➊  ・引数(予約受付番号データ)
➋  ・for(1つづつ予約受付番号データの数字を取り出す)
➌  ・(予約受付番号データ)×(暗号化するための計算ロジックデータ)
➍  ・掛け算した値の合計を求める
➎   (暗号化計算式1⃣)
・(掛け算した値の1の位のみ並べる) = (取り出した予約受付番号データ)×(暗号化するための計算ロジックデータ);
➏   (暗号化計算式2⃣)
・合計した値の1の位を剰余算する
10引く(1の位を剰余算した値)
もし0なら0とする
・合計した値の10の位を剰余算する
10引く(10の位を剰余算した値)
もし0なら0とする
➐   ・(暗号化計算式1⃣)と(暗号化計算式2⃣)を結合する

3-2、 6項目の細分化
➊  public String method(予約受付番号データ){
//char配列の箱で受け取る
char[] (予約受付番号データを入れる箱) = (予約受付番号データ);
➋  //(予約受付番号データを入れる箱)から1つづつ数字を取り出す
for((予約受付番号データを入れる箱)から1つづつ数字を取り出す)
➌➍ //(取り出した予約受付番号データ)×(暗号化するための計算ロジックデータ)
(掛け算した値の合計) = (取り出した予約受付番号データ)×(暗号化するための計算ロジックデータ);
➎  //暗号化計算式1⃣  
(掛け算した値の1の位のみ並べる) = (取り出した予約受付番号データ)×(暗号化するための計算ロジックデータ);
➏  //暗号化計算式2⃣ 
//合計した値の1の位を剰余算する
(1の位を剰余算) = (掛け算した値の合計) % 10;
// もし0の場合は0とする
if( (右の計算結果) != 0);
// 10からその値を引く
(右の計算結果A) = 10 - (1の位を剰余算);
//合計した値の1の位を剰余算する
(10の位を剰余算) = (掛け算した値の合計) / 10 % 10;
// もし0の場合は0とする
if( (右の計算結果) != 0);
// 10からその値を引く
(右の計算結果B) = 10 - (1の位を剰余算);
➐ // (暗号化計算式1⃣) (暗号化計算式2⃣)
(暗号化した予約受付番号) = (1の位を剰余算) + ((右の計算結果A) + (右の計算結果B));

3-3 コードのみ
➊  public String test(String inData){
int[] mul = { 1, 3, 7, 9, 7, 3, 1, 3, 9, 7, 1 };
char[] yoyakuNo = inData.toCharArray();
➋ for(int i=0; i<yoyakuNo; i++)
➌➍ int kaketaTotal= yoyakuNo × mul;
➎ int lastKeta = (yoyakuNo × mul) % 10;
➏ totalA = kaketaTotal % 10;
if(total != 0){
10 - total;
}
totalB = kaketaTotal / 10 % 10;
if(total != 0){
10 - total;
}
➐ int anngoukaYoyakuNo = lastKeta + (totalA + totalB);
return new String(anngoukaYoyakuNo);
}

理解と分解のアドバイスの元修正いたしましたが、コードが短くなった気がしましたが、
エラーが出てしまい、動作まではいきませんでした。
エラー  →  トークンに構文エラーがあります。これらのトークンを削除してください
理解と分解という点でこちらの流れですが、改善点などアドバイス頂きたいですm(__)m
文が長くなってしまい申し訳ありません。。

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

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

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

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

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

dodox86

2020/09/30 04:42

1文字ずつ取り出してそれぞれ処理し、最後に末尾の2桁を処理して文字列として追加する、と言う点で他の過去のご質問と同様です。前に回答いただいた内容を理解できていれば本問題も同じ要領でできるはずだと思うのですが、何が問題なのでしょうか。
gentaro

2020/09/30 04:44

同じような事で躓いてその度に誰かに聞かないとわからないのであれば、まずはスクールにでも通った方が良いんじゃないですかね?
退会済みユーザー

退会済みユーザー

2020/09/30 04:46

% 10を消して十の位まで足せるかためしたのですが、値が取れませんでした。 mul[i] % 10 ←のところ。 あと、考えるとfor文が2回必要となってくると考え実行してみたのですが、値が取れず。。
退会済みユーザー

退会済みユーザー

2020/09/30 04:51

すいません、わかりますが会社で遅れてて正直土日と夜しか勉強できない現実的な理由もあります。 すぐぱっとコードを変更するのもまだ何時間もかかってしまいます。もう一度考えてみます
Zuishin

2020/09/30 05:01

インプットしてないのに、何も入ってない空っぽの知識でいくら考えても人に聞いても単なる時間の無駄。まずはインプットからとせっかく教えたのに。
gentaro

2020/09/30 05:06

そうですね。 ここは自分のアウトプットの問題点を見つけるために質問するべき場所であって、インプットを得るための質問(計算の方法など)は歓迎されません。 インプットの部分はまずご自身で努力してください。
gentaro

2020/09/30 05:09

付きっきりで教えてくれる先生がほしいなら、それは報酬を支払ってやってもらうべき「仕事」です。 https://menta.work/ こういうサービスを使ってください。
m.ts10806

2020/09/30 05:30 編集

>質問者 過去のアドバイスはゴミ扱いですか。ならいつまでも一人でやってください。
退会済みユーザー

退会済みユーザー

2020/09/30 05:54

ゴミ扱いしてません!確かにもっとやり方があるかもしれませんが、何も知らないのに、そういういい方はやめてほしいですね。
m.ts10806

2020/09/30 05:59 編集

え、だって、過去のアドバイスなんの役にも立てずにポンポン丸投げてるじゃないですか。 本当に解決してるならこんな質問でるはずがないので(すでに出ている指摘の通り)。 だから、せっかく厚意でもらったアドバイスを受け取らずにゴミ箱にでも捨ててるのかなと。 理解できてないなら解決じゃないですよ。
gentaro

2020/09/30 06:04 編集

「ゴミ扱い」という表現は過剰だと思いますが、とりあえず https://teratail.com/questions/294897#reply-416705 これについては納得されてましたよね? で、あなたの今回の質問は、特定の問題を処理するためのロジックを考えてくれ、という「設計の丸投げ」になっているわけです。 設計作業というのは、あなた自身があなたの責任において行うべきことです。 ここはその設計が出来上がったものをプログラムとして実現する上で直面する「技術的な課題」について質問するサイトです。 なので、根本からズレてると思いますよ。
退会済みユーザー

退会済みユーザー

2020/09/30 06:05

経験ないときからみんなできるもんなんですか?すいません、自分は他のコードでのパターンとまた違うコードのパターンですぐ類似性とか理解できないです。確かにインプットが足りないと思うのは反省しますが、自分なりにコードいろいろ試してます。ポンポン投げているつもりはないし、頂いた回答をゴミのように扱っていません!!
退会済みユーザー

退会済みユーザー

2020/09/30 06:08

はい、納得しました。すいません、改めます。
m.ts10806

2020/09/30 06:19

プログラミングができるのと、アドバイスを無駄にするのとは別の問題です。 アドバイスを無駄にしたかどうかは質問を見る限り明らかなので、それは経験の有無も技術力も関係ありません。 今回指摘しているコメントのほとんどは「人の話聞いてる?」って言ってるのと同じです。 つまりあなたは、初心者だから話聞かなくていいって言ってるのと同じです。
amiya

2020/09/30 06:27

「自分は他のコードでのパターンとまた違うコードのパターンですぐ類似性とか理解できないです。」 これは逆です。即座に類似性を見つけろと言っているのではなくて、 前の回答で書いたように、ますは、理解と分解が必要なのです。 やる事を分解して小さな単位にすれば、形は勝手に似てきます。 まず、その分解をせずに、これはどーしたら?こっちの場合はどーしたら?と考えても、コードには繋がりません。 慣れてないんだ!と言うのであれば、なおさら地道に分解を考える必要があります。 (慣れてればある程度ショートカットできるのは事実ですが、それはあくまで、それまでの地道な作業の経験の上です。)
退会済みユーザー

退会済みユーザー

2020/09/30 06:28

アドバイスを無駄にしてるように感じさせてしまっているのはホント申し訳ないです。
m.ts10806

2020/09/30 06:34 編集

回答者としては、お礼よりもフィードバックが欲しいのと同じく、謝ってほしいと思ってる人もいないです。書くだけなら簡単。だから軽いと以前指摘しました。 アドバイスもらったならちゃんとしてください。それだけ。 コードもらってわかった気になってるだけという自身の現在地を正しく把握し、 確実に理解できるまで回答者にアドバイスを求めれば良いだけ。 それができないなら付きっきりで対応してくれるメンターをお金払ってついてもらうしかない 厚意で成り立つ場にそのスタンスは合わないし、誰もアドバイスしようと思わない。 そういう話です。 さて、ここまでの話、どこまでどのように理解できたんでしょうか。
Zuishin

2020/10/02 15:53 編集

何度も編集してるようだけど、知識がないのにいくらこねくり回しても無駄だって。 まず平文を一桁ずつ配列に入れるところからやりなさい。 できなければ教科書を読みなさい。 計算式はまだ手をつけるな。まず配列に入れるところだけ。 それができたら次の課題をあげます。 課題が全部解けたらこの問題も解けます。 正直あなたは越えなきゃいけないハードルが多すぎる。
guest

回答3

0

とりあえず、まず第一歩は、『やりたい事』を、日本語で書いてみる所から。

分解する前に目指すゴールと大まかな道筋をはっきりさせておかないと迷走します。


分解する理由の一つは、内容をシンプルにして考える範囲を小さい範囲に抑えるためです。
さらに、その小さな範囲での動作を確実なものにすることが重要です。
分解してからすぐにそのまま組み立ててしまったのではあまり意味がありません。

個々のパーツがしっかりと動くものであるという確証があるからこそ、
安心して、それらを組み合わせて大きなパーツを作ることができるのです。
個々のパーツの動作があやふやなうちに、どんどん先に進んでしまえば、
動作はどんどん滅茶苦茶になってゆきます。
まずは、小さく切り取って、その領域の支配を確定してください。
次の領域に手を伸ばすのは、それが完了してからです。
でないと、後ろから刺されます。

とりあえずは、他の人も書いてますが、
文字列を文字配列に変換して、それを一文字ずつ取り出して表示する。
あたりから確実にしていくのがいいかと思います。

投稿2020/09/30 18:32

編集2020/10/03 20:55
amiya

総合スコア1216

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

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

退会済みユーザー

退会済みユーザー

2020/09/30 23:46

『やりたい事』を、日本語→了解いたしました!
kazuma-s

2020/10/01 04:25

質問に書かれている「やりたいこと」は、20092812345 を 2001441678522 に 変換する一つの例にすぎません。 どんな入力が与えられても、出力が計算できるような手順書を日本語で書いて、 プログラミングを全く知らない中学生でも分かるように記述し、その中学生が 与えられたいくつかの入力から計算結果を答えられるようにしてください。
guest

0

ベストアンサー

3-3 コードのみ

このコードのインデントを正しいものにしてみました。
全角の「×」を「*」に変更し、全角スペースも半角スペースにしました。

Java

1 public String test(String inData) { // (1) 2 int[] mul = { 1, 3, 7, 9, 7, 3, 1, 3, 9, 7, 1 }; 3 char[] yoyakuNo = inData.toCharArray(); 4 for (int i = 0; i < yoyakuNo; i++) // (2) 5 int kaketaTotal = yoyakuNo * mul; // (3) (4) 6 int lastKeta = (yoyakuNo * mul) % 10; // (5) 7 totalA = kaketaTotal % 10; // (6) 8 if (total != 0) { 9 10 - total; 10 } 11 totalB = kaketaTotal / 10 % 10; 12 if (total != 0) { 13 10 - total; 14 } 15 int anngoukaYoyakuNo = lastKeta + (totalA + totalB); // (7) 16 return new String(anngoukaYoyakuNo); 17 }

このコードから、変数の型と値について全く理解していないことが分かります。

test("20092812345") で呼び出されたとすると、

inData は、型が String で、値は "20092812345"。

mul は、型が intの配列 で、値は { 1, 3, 7, 9, 7, 3, 1, 3, 9, 7, 1 }。

yoyakuNo は、charの配列で、値は {'2','0','0','9','2','8','1','2','3','4','5'}。

yoyakuNo は、charの配列なので、for文の i < yoyakuNo はエラーです。
こんな式を書いたのは、yoyakuNo が int でその値が 11 だと思ったのでしょうか?
toCharArrayメソッドが何を返すものか分からなかったのでしょうか?

int kaketaTotal = yoyakuNo * mul;
これは、変数 katetaTotal の宣言とその初期化です。
Java では「宣言」は「文」ではないので for文の中には書けません。エラーです。
for文の中の文を { } にすれば、その中に宣言や文をいくつでも書けます。

mul は intの配列です。yoyakuNo * mul とは書けません。

このあとも、変数宣言なしに、total、totalA、totalB を使っています。
10 - total; で引き算して、その結果をどうするんですか?

Java の基礎知識が全くなくでたらめなコードを書いているようにしか見えません。

正しいコードを示しても理解できないだろうということが分かりましたが、
間違いの指摘ばかりでは申し訳ないのでサンプルコードを示します。

Java

1class Crypt { 2 static final int[] mul = { 1, 3, 7, 9, 7, 3, 1, 3, 9, 7, 1 }; 3 4 public String encrypt(String str) { 5 char[] buf = str.toCharArray(); 6 int sum = 0; 7 for (int i = 0; i < buf.length; i++) { 8 int k = (buf[i] - '0') * mul[i]; 9 sum += k; 10 buf[i] = (char)(k % 10 + '0'); 11 } 12 int a = sum / 10 % 10; 13 if (a != 0) a = 10 - a; 14 int b = sum % 10; 15 if (b != 0) b = 10 - b; 16 return String.valueOf(buf) + a + b; 17 } 18} 19 20class Main { 21 public static void main(String[] args) { 22 Crypt crypt = new Crypt(); 23 System.out.println(crypt.encrypt("20092812345")); 24 System.out.println(crypt.encrypt("00000000000")); 25 System.out.println(crypt.encrypt("11111111111")); 26 System.out.println(crypt.encrypt("99999999999")); 27 } 28}

追記
やりたいことを次のような日本語で書いたとします。

text

1・文字列を変換して新しい文字列を作る。 2・入力文字列は、11個の数字である。 3・出力文字列は、13個の数字である。 4・変換表 { 1, 3, 7, 9, 7, 3, 1, 3, 9, 7, 1 } が用意されている。 5・入力文字列の各数字について、その値に変換表の同じ位置の値を掛け算して積を作る。 6・その積の一の位の数を出力文字の各文字とする。 7・また、その積の総和を求め、十の位の値を A、一の位の値を B とする。 8・A も B も 0 でなければ、それらの値を 10 - A、10 - B の値に置き換える。 9・A と B を出力文字の 12文字目と 13文字目とする。

プログラミング言語を知らない人でも、
この手順書にしたがって、やりたいことができると思いませんか?

さて、これを Java のプログラムに変換します。

メソッド名は何でもいいんですが、暗号化だから encrypt にしましょう。
入出力が文字列だから、String encrypt(String str) { で始めます。

変換表は数値の並びなので、int[] mul = { 1, 3, 7, ..., 1 } です。
掛け算に使うので multiply から mul にしましたが、何でもいいです。

出力文字列をどうやって作るか考えないといけません。
String out = ""; と空の文字列を用意し、ここに変換後の各文字を追加していく
こともできますが、文字列の連結は効率が悪いので、
char[] out = new char[11]; のように char の配列を用意して、その各要素に
文字を入れていき、最後に out を String に変換しましょう。

入力文字列から各文字を取り出して整数値にするのをどうするか考えないといけません。

Java

1 for (int i = 0; i < 11; i++) { 2 int val = str.charAt(i) - '0'; 3 この val を変換して out[i] に入れる。 4 }

次のようにも書けますが、これより上のコードの方が簡単でしょう。

Java

1 for (int i = 0; i < 11; i++) { 2 int val = Integer.parseInt(str.substring(i, i+1)); 3 この val を変換して out[i] に入れる。 4 }

ここで次ようなことがひらめきました。
String である入力文字列 str を char[] にしておけば、
charAtメソッドの呼び出しをせずに配列要素として文字を取り出せます。
それには出力文字列用の out が流用できます。
char[] out = str.toCharArray(): とすればいいんです。
こうすれば、out[i] から取り出した文字を変換して out[i] に戻すだけです。

ここまで考えれば、次のようなコードが書けます。

Java

1 public String encrypt(String str) { 2 int[] mul = { 1, 3, 7, 9, 7, 3, 1, 3, 9, 7, 1 }; 3 char[] out = str.toCharArray(); 4 for (int i = 0; i < 11; i++) { 5 int product = (out[i] - '0') * mul[i]; 6 out[i] = (char)(product % 10 + '0'); 7 } 8 return String.valueOf(out); 9 }

次に積(product)の総和(sum)を求めるコードを追加します。

Java

1 int sum = 0; 2 for (int i = 0; i < 11; i++) { 3 int product = (out[i] - '0') * mul[i]; 4 out[i] = (char)(product % 10 + '0'); 5 sum += product; 6 }

積の総和の十の位と一の位の値を求めるコードは

Java

1 int a = sum / 10 % 10; 2 if (a != 0) a = 10 - a; 3 int b = sum % 10; 4 if (b != 0) b = 10 - b;

全部をまとめて、

Java

1 public String encrypt(String str) { 2 int[] mul = { 1, 3, 7, 9, 7, 3, 1, 3, 9, 7, 1 }; 3 char[] out = str.toCharArray(); 4 int sum = 0; 5 for (int i = 0; i < 11; i++) { 6 int product = (out[i] - '0') * mul[i]; 7 out[i] = (char)(product % 10 + '0'); 8 sum += product; 9 } 10 int a = sum / 10 % 10; 11 if (a != 0) a = 10 - a; 12 int b = sum % 10; 13 if (b != 0) b = 10 - b; 14 return String.valueOf(out) + a + b; 15 }

追記2
「効率」とか「ひらめき」とかはよくないですね。
char[] out ではなく、素直に String out を使うコードを示します。

Java

1 public String encrypt(String str) { 2 int[] mul = { 1, 3, 7, 9, 7, 3, 1, 3, 9, 7, 1 }; 3 String out = ""; 4 int sum = 0; 5 for (int i = 0; i < 11; i++) { 6 int product = (str.charAt(i) - '0') * mul[i]; 7 sum += product; 8 out += (char)(product % 10 + '0'); 9 } 10 String t = "0987654321"; 11 return out + t.charAt(sum / 10 % 10) + t.charAt(sum % 10); 12 }

sum の最後の2桁については、ちょっと違うやり方にしてみました。

投稿2020/10/03 05:34

編集2020/10/03 23:53
kazuma-s

総合スコア8224

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

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

0

積の和を求めるコードがありません。
それくらいは書けませんか?

十の位はマイナス10する。

こんな意味不明の書き方をしてはいけません。

次のように書けばよいと思いませんか?
・十の位は、10からその値を引いた値にする。ただし 0 は変換しない。
あるいは、
・十の位は、その値から 10 を引いた値の絶対値にする。ただし 0 は変換しない。

積の和から、十の位と一の位を取り出して変換するのは

java

1 int a = sum / 10 % 10; // 和の十の位を取り出す 2 if (a != 0) a = 10 - a; 3 int b = sum % 10; // 和の一の位を取り出す 4 if (b != 0) b = 10 - b; 5 return String.valueOf(out) + a + b;

String.valueOf(out) は new String(out); でも構いません。
文字列と整数を足し算すると、整数が自動的に文字列に変換されて連結されます。

投稿2020/09/30 06:41

kazuma-s

総合スコア8224

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問