樓主你好!問題是這樣的:
目前創新互聯建站已為上千余家的企業提供了網站建設、域名、網絡空間、網站托管維護、企業網站設計、梁河網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
先拿第一句來說
語句:System.out.println("000011112:" + (000011112));
中的00001111是八進制的數,能0開頭的數是八進制數,而00001111用二進制表示為1001001001,數值前有22個0,一共有32位,左移2位后變為10010010,數值前有24個0,而10010010用十進制表示則為146。所以語句:System.out.println("000011112:" + (000011112));輸出000011112:146。其他以0開頭的數類推。但第二和第四個System.out.println()語句中的11000011是十進制的數,不能看作是二進制的也不能看作是八進制的數。樓主要看清。
public class MoveString { public static void main(String[] args) { String str = "hello world"; int step = 2; System.out.println(moveString(str, step)); } private static String moveString(String str, final int step) { if (str == null || step 0) { return null; } int len = str.length(); return new StringBuilder(str.substring(len - step % len)).append(str.substring(0, len - step % len)).toString(); } } 追問: 我怎么看不懂是什么意思呢? 回答: 你這個向右移幾位其實就相當于將字符串最后的幾位補到前面去...比如說你移動兩位,其實就是將"hello world"最后的兩位"ld"放到最前面 String類中的substring方法 就是用來進行字符串截取的
希望采納
將一個數的各二進制位全部右移若干位,正數左補0,負數左補1,右邊丟棄。
操作數每右移一位,相當于該數除以2。
注:正數的原碼,反碼,補碼一致;負數的反碼是除去符號位外其余取反,負數補碼是除去符號位外其余取反,末尾加1。 (二進制最左邊一位是符號位)
帶符號右移運算符()
將一個數的各二進制位全部右移若干位,正數左補0,負數左補1,右邊丟棄。
無符號右移運算符()
運算符把 expression1 的各個位向右移 expression2 指定的位數。右移后左邊空出的位用零來填充。移出右邊的位被丟棄
-12 = -1 ??
-1:?? 原碼:1000 0001 ?反碼:1111 1110 ?補碼:1111 1111
右移2位:1111 1111 ? ?( 用補碼操作,并用 1? 補齊左邊位)
再找反碼:1000 0000 ? ?( 除去左邊符號位,其余取反 )
再找原碼:1000 0001 = -1 ?( 還是將反碼末尾加1 )
-52=-2
-5:?? 原碼:1000 0101 ?反碼:1111 1010 ?補碼:1111 1011
右移2位:1111 1110 ? ?( 用補碼操作,并用 1? 補齊左邊位)
再找反碼:1000 0001 ? ?( 除去左邊符號位,其余取反 )
再找原碼:1000 0010 = -2 ?( 還是將反碼末尾加1 )
-52=1073741822
-5:
原碼:1111 1111 1111 1111 1111 1111 1111 0101
反碼:1111 1111 1111 1111 1111 1111 1111 1010
補碼:1111 1111 1111 1111 1111 1111 1111 1011
右移2位:0011 1111 1111 1111 1111 1111 1111 1110=1073741822
效果圖
參考代碼
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
public?class?MoveTextFrame?extends?JFrame?{
JLabel?jl;//文字標簽
int?speed=2;//移動速度
public?MoveTextFrame()?{
jl?=?new?JLabel("文字動畫");
jl.setForeground(Color.RED);
add(jl);
setSize(380,?100);//窗口大小
setLocationRelativeTo(null);//窗口居中
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
//設置定時器,?每隔25毫秒,改變一次文字標簽的位置
Timer?t?=?new?Timer(25,?new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
int?x?=?jl.getX()+speed;//計算移動后的位置
if(x=390){//如果超過就指定像素,就重新從左邊開水移動
x=-30;
}
jl.setLocation(x,?jl.getY());//更新位置
//repaint();
}
});
t.start();
}
public?static?void?main(String[]?args)?{
new?MoveTextFrame();
}
}
網站欄目:java編寫代碼輸出右移 java編寫代碼輸出右移到左移
文章分享:http://vcdvsql.cn/article10/ddeiido.html
成都網站建設公司_創新互聯,為您提供網站策劃、品牌網站制作、企業建站、靜態網站、定制網站、外貿網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯