4

4 桁の整数を 2 に分割したい。つまり、12342 つの変数に変換します。x=12y=34。Java の使用。

4

7 に答える 7

4
int four = 1234;  
int first = four / 100;   
int second = four % 100; 

整数は常に切り捨てられ、100 で割ると最後の 2 桁が削除されるため、最初の 1 つが機能します。

2 つ目はモジュロと呼ばれ、100 で割ってから余りを取ります。これにより、最初の 2 桁を除くすべての桁が削除されます。

可変桁数があるとしましょう:

int a = 1234, int x = 2, int y = 2; 
int lengthoffirstblock = x; 
int lengthofsecondblock = y;
int lengthofnumber = (a ==0) ? 1 : (int)Math.log10(a) + 1; 
//getting the digit-count from a without string-conversion   

文字列キャストなしで整数の桁数をカウントするにはどうすればよいですか?

int first = a / Math.pow(10 , (lengthofnumber - lengthoffirstblock));
int second = a % Math.pow(10 , lengthofsecondblock); 

最後に、入力が負になる可能性がある場合に役立つもの:

Math.abs(a); 
于 2012-08-10T10:53:20.827 に答える
3
int a = 1234;
int x = a / 100;
int y = a % 100;
于 2012-08-10T10:53:20.630 に答える
1

同じ番号を分割したい場合:

int number=1234;
int n,x,y;         //(here n=1000,x=y=1)   
int f1=(1234/n)*x; //(i.e. will be your first splitter part where you define x)
int f2=(1234%n)*y; //(secend splitter part where you will define y)

数値を (12*x,34*y) {ここで、x=12 の倍数/係数 & y=34 の倍数/係数) で分割する場合は、

1234=f(x(12),y(34))=f(36,68)

int number=1234;
int n;        //(here n=1000)  
int x=3;
int y=2; 
int f1=(1234/n)*x; //(i.e. will be your first splitter part where you define x)
int f2=(1234%n)*y; //(secend splitter part where you will define y)
于 2012-08-13T06:17:52.720 に答える
1
int i = 1234;
int x = 1234 / 100;
int y = i - x * 100;
于 2012-08-10T10:53:21.630 に答える
1

それを文字列として扱い、 substring()を使用して分割するか、整数として分割できます。

int s = 1234;
int x = s / 100;
int y = s % 100;

元が int の場合は、int のままにして上記のようにします。

入力が 4 桁でない場合に何が起こるかを考慮する必要があることに注意してください。例: 123。

于 2012-08-10T10:53:45.643 に答える
0
int i = 1234;
int x = i / 100;
int y = i % 100;
于 2012-08-10T11:00:19.587 に答える
-1
    int num=1234;
    String text=""+num;
    String t1=text.substring(0, 2);
    String t2=text.substring(2, 4);
    int num1=Integer.valueOf(t1);
    int num2=Integer.valueOf(t2);
    System.out.println(num1+" "+num2);
于 2012-08-10T10:54:15.170 に答える