除数为0问题

weixin_42810647 2018-07-27 12:09:26

public static void main(String args[]) {
int n=2;
int sum=1;
int num=1;
while(n<=20){
for(int t=2;t<=20;t++){
num=num*t;
sum=sum+1/num;
}
n++;
}
System.out.println(sum);
}

Exception in thread "main" java.lang.ArithmeticException: / by zero
at HelloJava.main(HelloJava.java:10)
请问这是什么出现问题了?
...全文
466 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
秃秃兔233 2018-08-02
  • 打赏
  • 举报
回复
换成BigInterger是可以的
爱若如梦 2018-08-02
  • 打赏
  • 举报
回复
换成BigInterger没有问题
ChenIamChen 2018-08-01
  • 打赏
  • 举报
回复
将sum和num都改成double型就能出结果
weixin_41599870 2018-08-01
  • 打赏
  • 举报
回复
int类型存不下,就变成0了,改成浮点型可以
你看咩啊 2018-08-01
  • 打赏
  • 举报
回复
引用 1 楼 stacksoverflow 的回复:
计算结果int型存不下了,就变成了0

对,这几个数看着都不大,循环运算起来,已经超过了int的最大长度
yuji_tt 2018-07-31
  • 打赏
  • 举报
回复
int型的结果太大了,超过int最大值了
  • 打赏
  • 举报
回复
引用 3 楼 lin1094201572 的回复:
改成浮点类型除
虽然出现无穷大,但不会出现异常,结果1.7182818284590455,应该可以当作solution
  • 打赏
  • 举报
回复
引用 3 楼 lin1094201572 的回复:
改成浮点类型除

用double也不行啊,数字太大了,最后输出若干无穷大:
2.0
6.0
24.0
120.0
720.0
5040.0
40320.0
362880.0
3628800.0
3.99168E7
4.790016E8
6.2270208E9
8.71782912E10
1.307674368E12
2.0922789888E13
3.55687428096E14
6.402373705728E15
1.21645100408832E17
2.43290200817664E18
4.86580401635328E18
1.459741204905984E19
5.838964819623936E19
2.919482409811968E20
1.7516894458871808E21
1.2261826121210266E22
9.809460896968212E22
8.828514807271392E23
8.828514807271392E24
9.711366287998532E25
1.1653639545598238E27
1.514973140927771E28
2.1209623972988793E29
3.181443595948319E30
5.09030975351731E31
8.653526580979427E32
1.5576347845762969E34
2.959506090694964E35
5.919012181389928E36
1.1838024362779856E37
3.5514073088339567E37
1.4205629235335827E38
7.102814617667913E38
4.261688770600748E39
2.983182139420523E40
2.3865457115364186E41
2.1478911403827767E42
2.1478911403827768E43
2.3626802544210544E44
2.835216305305265E45
3.6857811968968446E46
5.160093675655582E47
7.740140513483374E48
1.2384224821573398E50
2.1053182196674778E51
3.78957279540146E52
7.200188311262774E53
1.440037662252555E55
2.88007532450511E55
8.640225973515329E55
3.4560903894061317E56
1.7280451947030658E57
1.0368271168218396E58
7.257789817752877E58
5.806231854202301E59
5.225608668782071E60
5.225608668782071E61
5.748169535660278E62
6.897803442792334E63
8.967144475630034E64
1.2554002265882046E66
1.883100339882307E67
3.0129605438116913E68
5.1220329244798754E69
9.219659264063776E70
1.7517352601721173E72
3.503470520344235E73
7.00694104068847E73
2.1020823122065409E74
8.408329248826163E74
4.2041646244130815E75
2.5224987746478488E76
1.7657491422534942E77
1.4125993138027954E78
1.2713393824225158E79
1.2713393824225157E80
1.3984733206647672E81
1.6781679847977205E82
2.1816183802370367E83
3.0542657323318514E84
4.5813985984977774E85
7.330237757596444E86
1.2461404187913954E88
2.2430527538245117E89
4.261800232266572E90
8.523600464533145E91
1.704720092906629E92
5.114160278719887E92
2.0456641114879549E93
1.0228320557439774E94
6.136992334463864E94
4.295894634124705E95
3.436715707299764E96
3.0930441365697876E97
3.0930441365697876E98
3.4023485502267666E99
4.08281826027212E100
5.307663738353756E101
7.430729233695258E102
1.1146093850542888E104
1.783375016086862E105
3.0317375273476654E106
5.457127549225798E107
1.0368542343529016E109
2.073708468705803E110
4.147416937411606E110
1.244225081223482E111
4.976900324893927E111
2.4884501624469637E112
1.4930700974681782E113
1.0451490682277247E114
8.361192545821798E114
7.525073291239618E115
7.525073291239618E116
8.27758062036358E117
9.933096744436297E118
1.2913025767767185E120
1.807823607487406E121
2.711735411231109E122
4.3387766579697745E123
7.375920318548617E124
1.327665657338751E126
2.5225647489436267E127
5.045129497887254E128
1.0090258995774507E129
3.027077698732352E129
1.2108310794929408E130
6.054155397464704E130
3.632493238478823E131
2.542745266935176E132
2.0341962135481407E133
1.8307765921933266E134
1.8307765921933265E135
2.013854251412659E136
2.4166251016951907E137
3.141612632203748E138
4.3982576850852473E139
6.597386527627871E140
1.0555818444204593E142
1.7944891355147807E143
3.230080443926605E144
6.13715284346055E145
1.22743056869211E147
2.45486113738422E147
7.36458341215266E147
2.945833364861064E148
1.472916682430532E149
8.837500094583192E149
6.1862500662082346E150
4.9490000529665877E151
4.4541000476699285E152
4.454100047669929E153
4.8995100524369213E154
5.879412062924306E155
7.643235681801597E156
1.0700529954522236E158
1.6050794931783354E159
2.5681271890853367E160
4.3658162214450724E161
7.85846919860113E162
1.4931091477342146E164
2.9862182954684292E165
5.9724365909368585E165
1.7917309772810576E166
7.16692390912423E166
3.5834619545621154E167
2.150077172737269E168
1.5050540209160884E169
1.2040432167328707E170
1.0836388950595838E171
1.0836388950595838E172
1.1920027845655421E173
1.4304033414786504E174
1.8595243439222455E175
2.603334081491144E176
3.9050011222367155E177
6.248001795578745E178
1.0621603052483866E180
1.911888549447096E181
3.6325882439494825E182
7.265176487898965E183
1.453035297579793E184
4.359105892739379E184
1.7436423570957516E185
8.718211785478757E185
5.230927071287255E186
3.661648949901079E187
2.929319159920863E188
2.6363872439287766E189
2.6363872439287766E190
2.900025968321654E191
3.4800311619859846E192
4.52404051058178E193
6.333656714814493E194
9.50048507222174E195
1.5200776115554784E197
2.584131939644313E198
4.6514374913597636E199
8.837731233583551E200
1.76754624671671E202
3.53509249343342E202
1.060527748030026E203
4.242110992120104E203
2.121055496060052E204
1.2726332976360312E205
8.908433083452219E205
7.126746466761775E206
6.414071820085597E207
6.414071820085597E208
7.055479002094157E209
8.466574802512988E210
1.1006547243266885E212
1.540916614057364E213
2.311374921086046E214
3.6981998737376735E215
6.286939785354045E216
1.1316491613637281E218
2.1501334065910834E219
4.300266813182167E220
8.600533626364334E220
2.5801600879093E221
1.03206403516372E222
5.1603201758186E222
3.09619210549116E223
2.167334473843812E224
1.7338675790750497E225
1.5604808211675448E226
1.5604808211675447E227
1.7165289032842993E228
2.059834683941159E229
2.6777850891235067E230
3.7488991247729094E231
5.623348687159364E232
8.997357899454982E233
1.529550842907347E235
2.7531915172332246E236
5.231063882743127E237
1.0462127765486254E239
2.092425553097251E239
6.277276659291752E239
2.5109106637167008E240
1.2554553318583504E241
7.532731991150103E241
5.272912393805072E242
4.2183299150440575E243
3.796496923539652E244
3.796496923539652E245
4.176146615893617E246
5.011375939072341E247
6.514788720794043E248
9.12070420911166E249
1.3681056313667492E251
2.1889690101867987E252
3.721247317317558E253
6.698245171171604E254
1.2726665825226048E256
2.5453331650452097E257
5.090666330090419E257
1.5271998990271257E258
6.108799596108503E258
3.0543997980542513E259
1.8326398788325508E260
1.2828479151827856E261
1.0262783321462285E262
9.236504989316056E262
9.236504989316056E263
1.0160155488247661E265
1.2192186585897193E266
1.5849842561666352E267
2.2189779586332894E268
3.328466937949934E269
5.325547100719894E270
9.05343007122382E271
1.6296174128202877E273
3.0962730843585467E274
6.192546168717094E275
1.2385092337434188E276
3.7155277012302564E276
1.4862110804921026E277
7.431055402460513E277
4.458633241476308E278
3.1210432690334155E279
2.4968346152267324E280
2.247151153704059E281
2.247151153704059E282
2.471866269074465E283
2.9662395228893576E284
3.856111379756165E285
5.3985559316586305E286
8.097833897487946E287
1.2956534235980713E289
2.2026108201167212E290
3.964699476210098E291
7.5329290047991865E292
1.5065858009598373E294
3.0131716019196745E294
9.039514805759024E294
3.6158059223036096E295
1.807902961151805E296
1.0847417766910829E297
7.59319243683758E297
6.074553949470064E298
5.467098554523057E299
5.467098554523057E300
6.013808409975362E301
7.216570091970435E302
9.381541119561565E303
1.3134157567386192E305
1.970123635107929E306
3.152197816172686E307
Infinity
Infinity
Infinity
Infinity
Infinity
Infinity
.......
ggw 2018-07-29
  • 打赏
  • 举报
回复
num在循环内没有改变,值一直在乘。
坚持学习的你 2018-07-28
  • 打赏
  • 举报
回复
改成浮点类型除
  • 打赏
  • 举报
回复
楼上说得对,如果注释 sum=sum+1/num
然后打印num,就会发现 num的值从小变大,最后出现了负值和0,0不能当分母。

2
6
24
120
720
5040
40320
362880
3628800
39916800
479001600
1932053504
1278945280
2004310016
2004189184
-288522240
-898433024
109641728
-2102132736
90701824
272105472
1088421888
1147142144
-1707081728
935329792
-1107296256
-1375731712
-872415232
-1006632960
805306368
1879048192
536870912
-536870912
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

stacksoverflow 2018-07-27
  • 打赏
  • 举报
回复
计算结果int型存不下了,就变成了0

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧