java代码实现诗词 java如何写出优秀代码
Java:某文件中是一首诗,每句诗中都包含一个错别字,编写程序改正过来(使用randomFile)
package test;
创新互联于2013年开始,是专业互联网技术服务公司,拥有项目网站设计、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元新市做网站,已为上家服务,为新市各地企业和个人服务,联系电话:18980820575
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class test2 {
static void check(char[] ch,char[] ch2,RandomAccessFile raf){//检查
for (int i = 0; i ch2.length; i++) {
if(ch[i] != ch2[i]){
modify(ch,i, raf);
}
}
}
static void modify(char[] ch,int i ,RandomAccessFile raf){//修改
try {
raf.seek(i*2);//跳指针
raf.write(String.valueOf(ch[i]).getBytes());//写正确答案
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
File f = new File("D://李白静夜思.txt");//注意文件内的内容也是一行,没有回车
RandomAccessFile raf;
byte[] b = new byte[48];
String text = "床前明月光,疑是地上霜。举头望明月,低头思故乡。";
char[] ch = text.toCharArray();//正确版本
char[] ch2;//错误版本
try {
raf = new RandomAccessFile(f, "rw");
for(int i=0;ib.length;i++){
b[i] = raf.readByte() ; // 读取一个字节
}
String text2 = new String(b) ;
ch2 = text2.toCharArray();//把读来的数据放入错误数组
check(ch, ch2,raf);
raf.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
纯手打,望采纳(我文件是放在D盘的根目录下的)
用java完成唐诗测试游戏:从每句随机去掉一个字_代替,然后将去掉的字组合为4种选项,让用户选择正确答案。
Java程序:
import java.util.Random;
public class Test0201 {
public static void main(String[] args) {
String[] poem = new String[]{"赠孟浩然",
"吾爱孟夫子", "风流天下闻",
"红颜弃轩冕", "白首卧松云",
"醉月频中圣", "迷花不事君",
"高山安可仰", "徒此揖清芬"};
String[] keys = new String[poem.length-1]; //存储每句中抽出的单字
String[] items = new String[4]; //存储4种备选答案选项
String correctItem;
int i;
drawKey(poem, keys);
correctItem = generateItems(keys, items);
System.out.println("以下唐诗的每一句都少一个字,请选择合适的选项,将各选项中的字接顺序填充后,形成完整的唐诗:\n");
System.out.println(poem[0]);
for(i=1; ipoem.length; i++){
System.out.println(poem[i] + (i%2==1 ?"," : "。"));
}
System.out.println();
for(i=0; iitems.length; i++){
System.out.println(items[i]);
}
System.out.print("\n正确答案:" + correctItem);
}
//从各句唐诗中抽取一个字并存储,将该字用“_”代替
public static void drawKey(String[] poem, String[] keys){
int i, pos;
Random rand = new Random();
for(i=1; ipoem.length; i++){
pos=rand.nextInt(poem[i].length());
keys[i-1] = poem[i].substring(pos, pos+1);
poem[i] = poem[i].substring(0, pos) + "_" + poem[i].substring(pos+1);
}
}
//组成备选答案选项,返回正确答案
public static String generateItems(String[] keys, String[] items){
Random rand = new Random();
int[] arr;
int n = keys.length;
int pos = rand.nextInt(4); //正确答案的位置
int i, j;
StringBuffer buff = new StringBuffer();
for(i=0; in; i++){
buff.append(keys[i]);
}
items[pos] = (char)('A' + pos) + ". " + buff.toString();
buff.delete(0, n);
for(i=0; i4; i++){
if(i == pos){
continue;
}
arr = generateArray(n);
for(j=0; jn; j++){
buff.append(keys[arr[j]]);
}
items[i] =(char)('A' + i) + ". " + buff.toString();
buff.delete(0, n);
}
return items[pos];
}
//生成由n个数字[0, n-1]组成的随机数数组
private static int[] generateArray(int n){
int[] arr = new int[n];
Random rand = new Random();
int i;
for(i=0; in;){
arr[i] = rand.nextInt(n);
if(isExistFigure(arr, i, arr[i])){
continue;
}
i++;
}
return arr;
}
//判断某数字在数组中是否存在
private static boolean isExistFigure(int[] arr, int n, int key){
for(int i=0; in; i++){
if(arr[i] == key){
return true;
}
}
return false;
}
}
运行测试:
第一次测试:
以下唐诗的每一句都少一个字,请选择合适的选项,将各选项中的字接顺序填充后,形成完整的唐诗:
赠孟浩然
吾_孟夫子,
_流天下闻。
红颜弃轩_,
白首卧松_。
醉月频中_,
迷花不事_。
高山安_仰,
_此揖清芬。
A. 爱徒君风可云冕圣
B. 云徒君风冕圣爱可
C. 君冕圣可风云徒爱
D. 爱风冕云圣君可徒
正确答案:D. 爱风冕云圣君可徒
第二次测试:
以下唐诗的每一句都少一个字,请选择合适的选项,将各选项中的字接顺序填充后,形成完整的唐诗:
赠孟浩然
吾爱孟夫_,
风流天下_。
红颜弃_冕,
_首卧松云。
醉月频_圣,
迷花_事君。
高山_可仰,
徒此揖_芬。
A. 不白闻子中轩清安
B. 子闻轩白中不安清
C. 白不闻轩清安子中
D. 清子不白中安轩闻
正确答案:B. 子闻轩白中不安清
用hbuilder写古诗的代码
可以。
HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写,它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。快,是HBuilder的最大优势,通过完整的语法提示和代码输入法、代码块等,大幅提升HTML、js、css的开发效率。
分享题目:java代码实现诗词 java如何写出优秀代码
文章URL:http://azwzsj.com/article/ddcpdso.html