亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求指導,哪里有問題?

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

if(num>=0&&num<=9999999999){

? ? for(int i=10;i<=10000000000;i=i*10,count=count+1){

? ? ? ? if(num/i=0){

? ? ? ? ? ? System.out.println("它是一個"+count+"位的數");

? ? ? ? ? ? break;

? ? ? ? }

? ? }

}


正在回答

3 回答

int count = 1;初始值需要是1

另外值得一提的是

for(int i=10;i<=10000000000;i=i*10,count=count+1) 這個起始范圍約束做的非常到位. 10億剛剛好。代碼非常嚴謹,而且做了一些效率優化。

程序員寫一個位數判斷也就是10秒鐘的事,但是這些細節我肯定會忽略。

public?class?HelloWorld{
public?static?void?main(String[]?args){
int?num?=?999;
int?count?=?0;
if(num>=0&&num<=9999999999){
????for(int?i=10;i<=10000000000;i*=10){
????????count++;
????????if(num/i==0){
????????????System.out.println("它是一個"+count+"位的數");
????????????break;
????????}
????}
}


0 回復 有任何疑惑可以回復我~
#1

多啦先生 提問者

非常感謝!
2015-08-09 回復 有任何疑惑可以回復我~

超出int取值范圍了

0 回復 有任何疑惑可以回復我~

三個地方

1、變量i要從1開始

2、if條件num/i=0應該是num/i==0

3、int行最大為65535,使用9999999999或10000000000進行比較運算,可能會報錯。

有啥不對的地方,還請指導。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學習       1167500    人
  • 解答問題       18748    個

0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始

進入課程

求指導,哪里有問題?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號