Javaは二つの数の和を標準形式で出力することを実現します。
1493 ワード
プログラムの目的は、形を-234555066、235539などを-23,455,066、2,345,539に変換することです。
プログラムで使用する主な方法は、StringのtoCharararray()です。この方法は文字列を文字配列に変換し、配列を取得すると、それを利用して修正できます。完全なコードは以下の通りです。
プログラムで使用する主な方法は、StringのtoCharararray()です。この方法は文字列を文字配列に変換し、配列を取得すると、それを利用して修正できます。完全なコードは以下の通りです。
package testcode;
import java.util.Scanner;
public class PAT1001 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
int a=Integer.parseInt(scanner.next());
int b=Integer.parseInt(scanner.next());
Integer c=a+b;
String s = c.toString();
char[] strings2 = s.toCharArray();
int num;
char[] output;
int i=0,k;
if (strings2[0]=='-') {
if ((strings2.length-1)%3==0) {
num=(strings2.length-4)/3;
}else {
num=(strings2.length-1)/3;
}
output=new char[strings2.length+num];
i=0;
k=output.length;
for (int j = strings2.length-1; j >=0 ; j--) {
i++;
k--;
if (i%3==0&&k>=2) {
output[k]=strings2[j];
k--;
if(k>=0){
output[k]=',';
}
}else{
output[k]=strings2[j];
}
}
}else{
if (strings2.length%3==0) {
num=(strings2.length-3)/3;
}else {
num=strings2.length/3;
}
output=new char[strings2.length+num];
i=0;
k=output.length;
for (int j = strings2.length-1; j >= 0; j--) {
i++;
k--;
output[k]=strings2[j];
if(i%3==0){
k--;
if(k>=0){
output[k]=',';
}
}
}
}
System.out.println(output);
}
}