70806


`nouNum` を読んでいるメソッドがlong型の値を引数としており、returnでlong型を返したいです。

long型を返すには `out` を `char[]` ではなく、違う型にするのでしょうか？

[code]

    class nouNum {
        public  String Num01(String in){
            char[] out = in.toCharArray();
            int[] mul = { 2, 5, 9, 9, 5, 7, 2, 5, 7 };
            int n = Math.min(out.length, 9);
            for (int i = 0; i < n; i++)
                out[i] = (char)((out[i] - '0') * mul[i] % 10 + '0');
            return new String(out);
        }
    }
    
    private String check(long in){
        DecimalFormat form01 = new DecimalFormat();
        String t = exFormat1.format(in);
    }
    
[/code]


CC BY-SA 4.0
2020-09-29T05:36:54.920
70796
2020-09-29T09:24:09.480
2020-09-29T05:47:07.203
3060
32774
question
java
long型の値を渡したい


> long型を返すには `out` を `char[]` ではなく、違う型にするのでしょうか？

いいえ。  
`out`変数が`char[]`型であることは `out[i] = (char)((out[i] - '0') * mul[i] % 10 + '0');`
を成立させるための必須要件です。  
`return new String(out);` で`String`型を返している箇所を書き換えて`long`型にしましょう。

`String`型を`long`型に変換する方法としては、[`Long#parseLong`](https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Long.html#parseLong-
java.lang.String-)を使うのが一般的です。  
ご質問のコードでは[戻り値の型](https://nobuo-create.net/java-
beginner-13/#i-3)が`String`型になっていますので、こちらを`long`型に書き直すことも忘れずにご対応ください。


CC BY-SA 4.0
2020-09-29T09:24:09.480
70806
2020-09-29T09:24:09.480
9820
70796
answer