帮帮忙这java题怎么做?有关判断位数和回文数

题目:用java编:输入一个1-99999之间的数,程序判断这个数是几位数,并判断这个数是否是回文数,如12321、484、1331都为回文数
用c还能勉强实现,可是用java只能实现前半个小问,无法一起将两者都实现,数组用不来。
会的帮我写出代码好吗?谢谢了!

我的有数据为证据,给分给分,求你了给吧!

并判断这个数是否是回文数,如12321、484、1331都为回文数
前边的既然你能解决,那我来后面的吧
你主要是做这个?

public static void main(String[] args) {
int flag=0;
String s="";
for(int i=10;i<=99999;i++){
s="";
s=s+i;
flag=0;
for(int j=0;j<s.length()/2;j++){
if(s.charAt(j)!=s.charAt(s.length()-j-1))
{flag=1;}
}
if(flag==0) System.out.println(s);
}
}

11
22
33
44
55
66
77
88
99
101
111
121
131
141
151
161
171
181
191
202
212
222
232
242
252
262
272
282
292
303
313
323
333
343
353
363
373
383
393
404
414
424
434
444
454
464
474
484
494
505
515
525
535
545
555
565
575
585
595
606
616
626
636
646
656
666
676
686
696
707
717
727
737
747
757
767
777
787
797
808
818
828
838
848
858
868
878
888
898
909
919
929
939
949
959
969
979
989
999
1001
1111
1221
1331
1441
1551
1661
1771
1881
1991
2002
2112
2222
2332
2442
2552
2662
2772
2882
2992
3003
3113
3223
3333
3443
3553
3663
3773
3883
3993
4004
4114
4224
4334
4444
4554
4664
4774
4884
4994
5005
5115
5225
5335
5445
5555
5665
5775
5885
5995
6006
6116
6226
6336
6446
6556
6666
6776
6886
6996
7007
7117
7227
7337
7447
7557
7667
7777
7887
7997
8008
8118
8228
8338
8448
8558
8668
8778
8888
8998
9009
9119
9229
9339
9449
9559
9669
9779
9889
9999
10001
10101
10201
10301
10401
10501
10601
10701
10801
10901
11011
11111
11211
11311
11411
11511
11611
11711
11811
11911
12021
12121
12221
12321
12421
12521
12621
12721
12821
12921
13031
13131
13231
13331
13431
13531
13631
13731
13831
13931
14041
14141
14241
14341
14441
14541
14641
14741
14841
14941
15051
15151
15251
15351
15451
15551
15651
15751
15851
15951
16061
16161
16261
16361
16461
16561
16661
16761
16861
16961
17071
17171
17271
17371
17471
17571
17671
17771
17871
17971
18081
18181
18281
18381
18481
18581
18681
18781
18881
18981
19091
19191
19291
19391
19491
19591
19691
19791
19891
19991
20002
20102
20202
20302
20402
20502
20602
20702
20802
20902
21012
21112
21212
21312
21412
21512
21612
21712
21812
21912
22022
22122
22222
22322
22422
22522
22622
22722
22822
22922
23032
23132
23232
23332
23432
23532
23632
23732
23832
23932
24042
24142
24242
24342
24442
24542
24642
24742
24842
24942
25052
25152
25252
25352
25452
25552
25652
25752
25852
25952
26062
26162
26262
26362
26462
26562
26662
26762
26862
26962
27072
27172
27272
27372
27472
27572
27672
27772
27872
27972
28082
28182
28282
28382
28482
28582
28682
28782
28882
28982
29092
29192
29292
29392
29492
29592
29692
29792
29892
29992
30003
30103
30203
30303
30403
30503
30603
30703
30803
30903
31013
31113
31213
31313
31413
31513
31613
31713
31813
31913
32023
32123
32223
32323
32423
32523
32623
32723
32823
32923
33033
33133
33233
33333
33433
33533
33633
33733
33833
33933
34043
34143
34243
34343
34443
34543
34643
34743
34843
34943
35053
35153
35253
35353
35453
35553
35653
35753
35853
35953
36063
36163
36263
36363
36463
36563
36663
36763
36863
36963
37073
37173
37273
37373
37473
37573
37673
37773
37873
37973
38083
38183
38283
38383
38483
38583
38683
38783
38883
38983
39093
39193
39293
39393
39493
39593
39693
39793
39893
39993
40004
40104
40204
40304
40404
40504
40604
40704
40804
40904
41014
41114
41214
41314
41414
41514
41614
41714
41814
41914
42024
42124
42224
42324
42424
42524
42624
42724
42824
42924
43034
43134
43234
43334
43434
43534
43634
43734
43834
43934
44044
44144
44244
44344
44444
44544
44644
44744
44844
44944
45054
45154
45254
45354
45454
45554
45654
45754
45854
45954
46064
46164
46264
46364
46464
46564
46664
46764
46864
46964
47074
47174
47274
47374
47474
47574
47674
47774
47874
47974
48084
48184
48284
48384
48484
48584
48684
48784
48884
48984
49094
49194
49294
49394
49494
49594
49694
49794
49894
49994
50005
50105
50205
50305
50405
50505
50605
50705
50805
50905
51015
51115
51215
51315
51415
51515
51615
51715
51815
51915
52025
52125
52225
52325
52425
52525
52625
52725
52825
52925
53035
53135
53235
53335
53435
53535
53635
53735
53835
53935
54045
54145
54245
54345
54445
54545
54645
54745
54845
54945
55055
55155
55255
55355
55455
55555
55655
55755
55855
55955
56065
56165
56265
56365
56465
56565
56665
56765
56865
56965
57075
57175
57275
57375
57475
57575
57675
57775
57875
57975
58085
58185
58285
58385
58485
58585
58685
58785
58885
58985
59095
59195
59295
59395
59495
59595
59695
59795
59895
59995
60006
60106
60206
60306
60406
60506
60606
60706
60806
60906
61016
61116
61216
61316
61416
61516
61616
61716
61816
61916
62026
62126
62226
62326
62426
62526
62626
62726
62826
62926
63036
63136
63236
63336
63436
63536
63636
63736
63836
63936
64046
64146
64246
64346
64446
64546
64646
64746
64846
64946
65056
65156
65256
65356
65456
65556
65656
65756
65856
65956
66066
66166
66266
66366
66466
66566
66666
66766
66866
66966
67076
67176
67276
67376
67476
67576
67676
67776
67876
67976
68086
68186
68286
68386
68486
68586
68686
68786
68886
68986
69096
69196
69296
69396
69496
69596
69696
69796
69896
69996
70007
70107
70207
70307
70407
70507
70607
70707
70807
70907
71017
71117
71217
71317
71417
71517
71617
71717
71817
71917
72027
72127
72227
72327
72427
72527
72627
72727
72827
72927
73037
73137
73237
73337
73437
73537
73637
73737
73837
73937
74047
74147
74247
74347
74447
74547
74647
74747
74847
74947
75057
75157
75257
75357
75457
75557
75657
75757
75857
75957
76067
76167
76267
76367
76467
76567
76667
76767
76867
76967
77077
77177
77277
77377
77477
77577
77677
77777
77877
77977
78087
78187
78287
78387
78487
78587
78687
78787
78887
78987
79097
79197
79297
79397
79497
79597
79697
79797
79897
79997
80008
80108
80208
80308
80408
80508
80608
80708
80808
80908
81018
81118
81218
81318
81418
81518
81618
81718
81818
81918
82028
82128
82228
82328
82428
82528
82628
82728
82828
82928
83038
83138
83238
83338
83438
83538
83638
83738
83838
83938
84048
84148
84248
84348
84448
84548
84648
84748
84848
84948
85058
85158
85258
85358
85458
85558
85658
85758
85858
85958
86068
86168
86268
86368
86468
86568
86668
86768
86868
86968
87078
87178
87278
87378
87478
87578
87678
87778
87878
87978
88088
88188
88288
88388
88488
88588
88688
88788
88888
88988
89098
89198
89298
89398
89498
89598
89698
89798
89898
89998
90009
90109
90209
90309
90409
90509
90609
90709
90809
90909
91019
91119
91219
91319
91419
91519
91619
91719
91819
91919
92029
92129
92229
92329
92429
92529
92629
92729
92829
92929
93039
93139
93239
93339
93439
93539
93639
93739
93839
93939
94049
94149
94249
94349
94449
94549
94649
94749
94849
94949
95059
95159
95259
95359
95459
95559
95659
95759
95859
95959
96069
96169
96269
96369
96469
96569
96669
96769
96869
96969
97079
97179
97279
97379
97479
97579
97679
97779
97879
97979
98089
98189
98289
98389
98489
98589
98689
98789
98889
98989
99099
99199
99299
99399
99499
99599
99699
99799
99899
99999
这些是输出的数据。 判断位数 你自己会你自己搞吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-09-11
int a=1234321;
String s=""+a;
int length=s.length();//得到 a的 位数
int tempR=0;
int tempL=0;
boolean isSame=true;
for(int i=0;i<length/2;i++){
tempR=a%(add(i+1));//右边第i+1位
tempL=a%(add(length-i-1));//左边第length-i位
if(tempR!=tempL) {
isSame=false;
break;
}
}
if(isSame){
回文数
}else{
不是回文数
}
//这个是 算要整除的 数是多少,也可以用Math.Pow(10,i);代替
public int add(int i){
int s=1;
for(int j=0;j<i;j++){
s*=10;
}
return s;
}

//。。受上面那位仁兄启发,想到一个更简单的方法:
int a=1234321;
String s=""+a;
int length=s.length();
boolean is=true;
for(int i=0;i<s.length/2;i++){
if(!s.charAt(i).equals(s.charAt(s.length-i-1))){
is=false;
break;
}
}
if(is) 是会文书
else 不是
第2个回答  2008-09-11
public class test {
public test() {
}

public int numberlen(String num) {
int ret = 0;
ret = num.length();
return ret;
}

public boolean isHW(String num) {
boolean hw=true;
if (num.length() % 2 == 0) {
System.out.println("偶数");
for(int i=0;i<=num.length()/2;i++){//123321
if(num.substring(i,i+1).equals(num.substring(num.length()-i-1,num.length()-i))){hw=true;}
else{hw=false;}
}
} else {
System.out.println("奇数");//1234321
for(int i=0;i<=(num.length()-1)/2;i++){
if(num.substring(i,i+1).equals(num.substring(num.length()-i-1,num.length()-i))){hw=true;}
else{hw=false;}
}

}

return hw;
}

public static void main(String[] args) {
test tes = new test();
System.out.println(tes.numberlen("1234567"));
System.out.println(tes.isHW("123321"));
System.out.println(tes.isHW("1234321"));
}
}
第3个回答  2008-09-11
我猜想主要是想考察我们对整除运算(/)和取模运算(%):
import java.util.ArrayList;
import java.util.List;

public class Zhidao67865598 {

/**
* @param args
*/
public static void main(String[] args) {
int input = 1234;
int q = input / 10;// 商,取整
int r = input % 10; // 余数,求模

int count = 1; // 位数
boolean isPalindrome = true; // 是否回文?
List<Integer> numbers = new ArrayList<Integer>();//保存每一位的数字,从底位到高位
numbers.add(r);
while (q > 0) {
count++;
r = q % 10;
numbers.add(r);
q = q / 10;

}
System.out.println("位数:" + count);

//比较是否回文
for (int i = 0; i < numbers.size() / 2; i++) {
if (numbers.get(i) != numbers.get(numbers.size() - 1 - i)) {//首尾互相比较
isPalindrome = false;
break;
}
}
System.out.println("是否回文:"+ isPalindrome);

}

}
相似回答