導航:首頁 > 編程語言 > bitsetjava源碼

bitsetjava源碼

發布時間:2023-06-04 16:48:46

『壹』 農夫過河問題(java)

這個是偶寫的 你可以參考下 寫的有點多 你自己優化下吧 之前還不知道農夫過河是啥意思 不過後來知道了 如果有問題的話可以馬上說的 你的50分偶要定咯!!(可以直接運行)

import java.util.Iterator;
import java.util.LinkedList;

public class AcrossTheRiver {
// 定義三個String對象
public static final String rabbitName = "Rabbit";
public static final String wolfName = "Wolf";
public static final String cabbageName = "Cabbage";

// 判斷兩個貨物之間關系是否友好 寫的麻煩了一點= =..
public static boolean isFriendly(Goods goods1, Goods goods2) {
if (goods1 != null) {
if (goods1.getGoodsName().trim().equals(rabbitName)) {
if (goods2 == null) {
return true;
} else {
return false;
}
} else if (goods1.getGoodsName().trim().equals(wolfName)) {
if (goods2 == null || goods2.getGoodsName().trim().equals(cabbageName)) {
return true;
} else {
return false;
}
} else if (goods1.getGoodsName().trim().equals(cabbageName)) {
if (goods2 == null || goods2.getGoodsName().trim().equals(wolfName)) {
return true;
} else {
return false;
}
} else {
return false;
}
} else {
return true;
}
}

// 我就直接寫在主方法里了
public static void main(String[] args) {
boolean isSuccess = false;
LinkedList<Goods> beforeCrossing = new LinkedList<Goods>();
LinkedList<Goods> afterCrossing = new LinkedList<Goods>();
beforeCrossing.add(new Goods(rabbitName));
beforeCrossing.add(new Goods(cabbageName));
beforeCrossing.add(new Goods(wolfName));
while (!isSuccess) {
Goods goods1 = beforeCrossing.getFirst();
System.out.println(goods1.getGoodsName() + " 被取走了");
beforeCrossing.removeFirst();
if (beforeCrossing.isEmpty()) {
afterCrossing.addLast(goods1);
isSuccess = true;
System.out.println("全部移動完畢!");
} else {
Iterator<Goods> it = beforeCrossing.iterator();
Goods[] beforeCro = new Goods[2];
for (int i = 0; it.hasNext(); i++) {
beforeCro[i] = it.next();
System.out.println(beforeCro[i].getGoodsName() + " 留了下來");
}
if (isFriendly(beforeCro[0], beforeCro[1])) {
if (afterCrossing.isEmpty()) {
afterCrossing.addLast(goods1);
System.out.println(goods1.getGoodsName() + " 被成功的放到了對岸");
} else {
Goods goods2 = afterCrossing.getFirst();
if (isFriendly(goods1, goods2)) {
afterCrossing.addLast(goods1);
System.out.println(goods1.getGoodsName() + " 被成功的放到了對岸");
} else {
beforeCrossing.addLast(goods2);
afterCrossing.removeFirst();
System.out.println(goods1.getGoodsName() + " 與 "
+ goods2.getGoodsName() + "並不和睦 於是把 " + goods2.getGoodsName()
+ "帶了回來 並將 " + goods1.getGoodsName() + " 留了下來");
}
}
} else {
beforeCrossing.addLast(goods1);
System.out.println("很可惜 留下來的兩個東西並不和睦 於是 " + goods1.getGoodsName()
+ " 又被放了回去");
}
}
}
}
}

// 貨物類
class Goods {
// 貨物名稱
private String goodsName;

// 默認構造方法
public Goods(String goodsName) {
this.goodsName = goodsName;
}

// 獲得貨物名稱
public String getGoodsName() {
return goodsName;
}

}

『貳』 為什麼Java中的BitSet使用long數組做內部存儲,而不使用int數組...

1、int是「整型」long是「長整形」
2、long int佔4個位元組,int佔2個位元組
3、int存儲的整數的值域小long。(前三條沒多大影響只是區別,主要在於下面兩條)
4、BitSet提供and和or這種操作
5、使用long能夠使得循環的次數降到最低,所以Java選擇使用long數組作為BitSet的內部存儲結構,來提高性能。

『叄』 JAVA 假如String"01010" 我要怎樣把它轉成bitset

publicBitSettoBitSet(Strings){
intlen=s.length();
BitSetbs=newBitSet(len);
for(inti=0;i<len;i++){
if(s.charAt(i)=='1')
bs.set(i);
}
returnbs;
}
publicStringtoString(BitSetbs){
intlen=bs.length();
StringBufferbuf=newStringBuffer(len);
for(inti=0;i<len;i++)
buf.append(bs.get(i)?'1':'0');
returnbuf.toString();
}

『肆』 在java中能直接把BitSet的對象直接輸入到二進制文件中嗎,用哪個流啊

package com.tuz;

import java.io.*;

public class MyTest {
public static void main(String[] args) {

String s = "010101";
int i = Integer.parseInt(s, 2);//按照2進制提取為十進制
try {
DataOutputStream out=
new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream("Data")));//Data是文件的名字
out.writeByte(i);
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}
}

閱讀全文

與bitsetjava源碼相關的資料

熱點內容
word使用教程下載 瀏覽:295
電腦文件平鋪圖片默認大小 瀏覽:115
文件查看設置信息失敗 瀏覽:668
編程如何編出烏鴉喝水的課文 瀏覽:20
國家反詐app報案助手怎麼使用 瀏覽:439
秘密文件丟失多少天 瀏覽:237
js中csstext 瀏覽:382
目標文件名過長復制 瀏覽:892
樂動力計步器老版本 瀏覽:933
壓縮文件鏈接怎麼編輯 瀏覽:808
如何鎖定PDF文件里的圖章 瀏覽:89
資料庫超時是什麼 瀏覽:649
文件怎麼改整列內容 瀏覽:764
360壓縮文件發郵件空白 瀏覽:813
上哪裡查自己大數據 瀏覽:907
編程語言怎麼學車 瀏覽:189
編程該怎麼學才能先找工作 瀏覽:524
文件刻制光碟多少錢 瀏覽:861
校園網的網路組成結構 瀏覽:862
u盤系統復制文件過大 瀏覽:843

友情鏈接