討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 網路投保旅行平安險 傑米的攝影旅遊筆記
[ 回上頁 ] [ 討論區發言規則 ]
輸出不顯示特定數字(求解)
更改我的閱讀文章字型大小
作者 : kiki12345678(路湘倫)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/11/1 下午 09:13:35
數字:1~100
輸出結果不能有8這個數
例:1.2.3.4.5.6.7.9.10......16.17.19.20.....76.77.79.90.91.92.93.94.95.96.97.99.100
個數或是十位數都不能有8
輸出的結果可以有哪些數字?
總共有幾個?
作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++一代宗師新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4945 | 人氣 9172 | 評價 32290 | 評價/貼文 6.53 | 送出評價 142 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/11/2 下午 10:58:46
把你所寫的程式碼貼上來.

提示: 把數值轉成字串, 然後搜尋看裡面有沒有 '8' 這個字元.
作者 : kiki12345678(路湘倫)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/11/3 上午 12:30:03

public static void main(String[] args) {
for (int x=1;x<100;x++)

if (x/10!=8 && x%10!=8)

System.out.print(x+" ");

System.out.println();

}

//第一個問題想了許久總算想通了,但如何計算出共有多少?
作者 : kiki12345678(路湘倫)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/11/3 上午 12:30:14

public static void main(String[] args) {
for (int x=1;x<100;x++)

if (x/10!=8 && x%10!=8)

System.out.print(x+" ");

System.out.println();

}

//第一個問題想了許久總算想通了,但如何計算出共有多少?
作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++一代宗師新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4945 | 人氣 9172 | 評價 32290 | 評價/貼文 6.53 | 送出評價 142 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人kiki12345678註記此篇回應為最佳解答 2014/11/3 上午 11:40:44
>//第一個問題想了許久總算想通了,但如何計算出共有多少?

在 if 式子的主體內除了輸出外也做累積 (你需要一個 int 變數):
  int count = 0;
  for (...) {
    if (...) {
      ++count;
      System.out.print(...);
    }
  }
  System.out.println();
  System.out.println(count);


建議
- 你用適當的空格提高程式碼的可讀性, 如運算子前後, ';':
  for (int x = 1; x < 100; x++)

- 用 {} 來包 for/if/while 等式子的主體, 即使主體只有一行, 甚至沒有主體 (加註解). 如:
  for (...) {
    ...
  }

  while (...) {
    // empty body
  }


- 用空格來 indent 你的式子.

做這些的目的是清楚標示出你的邏輯, 從而提高程式碼的可讀性.

作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4468 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/11/3 下午 02:30:32
try to use logical operator - & , for example , int i ;
i = 123 ;
if ( i & 0x88 ) { // i includes digit 8 }
else { // i not includes digit 8 }
作者 : kagaya(kagaya) VC++優秀好手C++優秀好手貼文超過1000則人氣指數超過30000點
[ 貼文 1599 | 人氣 38709 | 評價 4590 | 評價/貼文 2.87 | 送出評價 115 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/11/3 下午 05:24:05
>if ( i & 0x88 ) { // i includes digit 8 }

0x08還說得過去
0x80=128 檢查得出來就神了....
作者 : turing(Alan)
[ 貼文 68 | 人氣 0 | 評價 300 | 評價/貼文 4.41 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/11/4 下午 04:25:00
>>建議
>>- 你用適當的空格提高程式碼的可讀性, 如運算子前後, ';':
>>  for (int x = 1; x < 100; x++)

補充一下,應是:

for (int x = 1; x <= 100; x++)
 板主 : 風月
 > Java入門一般區 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Java入門一般區 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Java入門一般區
1 洋將 2410 
2 Aron 2130 
3 Aries 1510 
4 DEMO999 1310 
5 Ben 990 
6 ramb 620 
7 ozzy 570 
8 tand 460 
9 Huah 410 
10 vindy 400 
Java入門一般區
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875