1. 程式人生 > >取一個整數a從右端開始的4~7位

取一個整數a從右端開始的4~7位

整數 print sca 輸入 pre har pub ava arr

題目:取一個整數a從右端開始的47位。


程序分析:可以這樣考慮:
  (1)先使a右移4位。
  (2)設置一個低4位全為1,其余全為0的數。可用~(~0 < <4)
  (3)將上面二者進行&運算。

 1 package com.li.FiftyAlgorthm;
 2 
 3 import java.util.Scanner;
 4 
 5 public class FS {
 6     public static void main(String[] args) {
 7         Scanner s = new Scanner(System.in);
 8
boolean is = true; 9 System.out.print("請輸入一個7位以上的正整數:"); 10 long a = s.nextLong(); 11 String ss = Long.toString(a); 12 char[] ch = ss.toCharArray(); 13 int j = ch.length; 14 if (j < 7) { 15 System.out.println("輸入錯誤!"); 16 } else
{ 17 System.out.println("截取從右端開始的4~7位是:" + ch[j - 7] + ch[j - 6] 18 + ch[j - 5] + ch[j - 4]); 19 } 20 } 21 }

取一個整數a從右端開始的4~7位