java古詩
『壹』 如何用java編寫程序使能夠縱向輸出古詩
赤 壁
杜 牧
折戟沉沙鐵未銷,自將磨洗認前朝。
東風不與周郎便,銅雀春深鎖二喬。
『貳』 關於樹的古詩(要完整的)
1.樹木叢生,百草豐茂。
2.綠樹村邊合,青山郭外斜。
3.庭中有奇樹,綠葉發華滋。
4.鳥宿池邊樹,僧敲月下門。
5.碧玉妝成一樹高,萬條垂下綠絲絛。
6.忽如一夜春風來,千樹萬樹梨花開。
7.晴川歷歷漢陽樹,芳草萋萋鸚鵡洲。
8.沉舟側畔千帆過,病樹前頭萬木春。
9.泉眼無聲惜細流,樹陰照水愛晴柔。
10.枯藤老樹昏鴉,小橋流水人家,古道西風瘦馬。
11.昨夜西風凋碧樹,獨上高樓,望盡天涯路。
12.岸頭樹子直如筠,誰遣相招住水濱。
有關樹的歇後語
千年大樹百年松——根深蒂固
汽車爬大樹——瞎來
蜻蜓撼樹——紋絲不動
牽牛花上樹——順桿爬
關於樹的語句
樹,木總名也。——《廣韻》
樹,木生植之總名。——《說文系傳》
有嘉樹焉,宣子譽之。——《左傳·昭公二年》
樹木方盛。——《禮記·月令》
狗吠深巷中,雞鳴桑樹顛。——晉·陶淵明《歸園田居》
斜陽草樹,尋常巷陌,人道寄奴曾住。——宋·辛棄疾《永遇樂·京口北固亭懷古》
『叄』 用java完成唐詩測試游戲:從每句隨機去掉一個字_代替,然...
import java.util.Random;
public class Test {
public static void main(String[] args){
String tangshi = "鋤禾日當午,汗滴禾下土,誰知盤中餐,粒粒皆辛苦。" ;
char[] c = tangshi.toCharArray() ;
Random ran = new Random() ;
int ran1 = ran.nextInt(4) ;
int ran2 = ran.nextInt(4)+6 ;
int ran3 = ran.nextInt(4)+12 ;
int ran4 = ran.nextInt(4)+18 ;
char[] xuanxiang = new char[4] ;
xuanxiang[0] = c[ran1] ;
c[ran1] = '_' ;
xuanxiang[1] = c[ran2] ;
c[ran2] = '_' ;
xuanxiang[2] = c[ran3] ;
c[ran3] = '_' ;
xuanxiang[3] = c[ran4] ;
c[ran4] = '_' ;
for(int i=0; i<c.length ; i++){
System.out.print(c[i]) ;
if((i==5)||(i==11)||(i==17)||(i==23)){
System.out.println() ;
}
}
int [] abcd = getABCD() ;
System.out.print("A、"+xuanxiang[abcd[0]]+" ");
System.out.print("B、"+xuanxiang[abcd[1]]+" ");
System.out.print("C、"+xuanxiang[abcd[2]]+" ");
System.out.print("D、"+xuanxiang[abcd[3]]);
}
public static int[] getABCD(){
int[] c = new int[4] ;
Random ran = new Random() ;
boolean flag = true ;
while(flag){
c[0] = ran.nextInt(4) ;
c[1] = ran.nextInt(4) ;
if(c[0] != c[1]){
c[2] = ran.nextInt(4) ;
if((c[0]!=c[2])(c[1]!=c[2])){
c[3] = ran.nextInt(4) ;
if((c[0]!=c[3])(c[1]!=c[3])(c[2]!=c[3])){
flag=false ;
}
}
}
}
return c;
}
}
如果是7字的詩你就自己修改吧!呵呵!
『肆』 寫一個java程序 將一首古詩豎著排序從右往左讀
import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.StringReader;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class PoetryTest {
public static void main(String[] args) throws Exception {
final JFrame f = new JFrame();
final ArrayList<Poetry> ps = PContents.load();
final PoetryLabel plabel = new PoetryLabel();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(plabel);
f.setSize(320,268);
f.setLocationRelativeTo(null);
f.setVisible(true);
plabel.setPoetry(ps.get(0));
f.setTitle(plabel.getTitle()+"-"+plabel.getAuthor());
plabel.addMouseListener(new MouseAdapter(){
int index;
public void mouseClicked(MouseEvent e){
++index;
index=index%ps.size();
Poetry p = ps.get(index);
plabel.setPoetry(p);
f.setTitle(plabel.getTitle()+"-"+plabel.getAuthor());
}
});
}
}
//呈現詩歌的標簽類
class PoetryLabel extends JLabel{
private static final Color tColor = Color.white;//標題顏色
private static final Color aColor = Color.yellow;//作者顏色
private static final Color cColor = Color.LIGHT_GRAY;//內容顏色
private static final int fontSize=16;//字體大小
private static final int tType = Font.BOLD;//標題字體樣式為粗體
private static final int aType = Font.ITALIC;//作者字體樣式為斜體
private static final int cType = Font.PLAIN;//內容字體樣式為普通樣式
private static final float scaleFactor = 1.2f;//標題字體大小比其它字體大
private static final String fontName="SimSun";//字體名稱
private static final int offset=5,space=5;
private Font font;
private AffineTransform at;
private Poetry poem;
public PoetryLabel(){
this.poem=new Poetry();
this.font=new Font(fontName,cType,fontSize);
this.setHorizontalAlignment(JLabel.CENTER);
this.setVerticalAlignment(JLabel.CENTER);
at = new AffineTransform();
at.setToRotation(Math.toRadians(-90));
font = font.deriveFont(at);//將字體逆時針旋轉90°
}
public Poetry getPoetry() {
return poem;
}
//設置詩歌,來初始化標簽內容
public void setPoetry(Poetry s){
this.poem=s;
this.repaint();
}
public String getTitle(){return poem.title;}
public String getAuthor(){return poem.author;}
//創建圖像,先將逆時針旋轉了90°的文件畫上,然後將整幅圖像順時針旋轉90°
private Image createImage(){
int x;
int y=offset;
int w = getTWidth(poem);
int h = getTHeight(poem);
BufferedImage img = new BufferedImage(w,h,BufferedImage.TYPE_INT_ARGB);
Graphics2D g = img.createGraphics();
//draw title
g.setColor(tColor);
Font tfont = font.deriveFont(font.getSize()*scaleFactor).deriveFont(tType);
g.setFont(tfont);
y+=tfont.getSize();
char[] cs = poem.title.toCharArray();
for(int i=0; i<cs.length; i++){
x=(i+1)*(tfont.getSize()+space)+offset;
g.drawChars(cs, i, 1, x, y);
}
//draw author
y+=space*2+tfont.getSize();
cs = poem.author.toCharArray();
tfont = font.deriveFont(aType);
g.setColor(aColor);
g.setFont(tfont);
for(int i=0; i<cs.length; i++){
x=(i+1)*(tfont.getSize()+space)+offset;
g.drawChars(cs, i, 1, x, y);
}
//draw contents
y+=space*3;
g.setColor(cColor);
g.setFont(font);
for(int i=0; i<poem.contents.size(); i++){
y+=fontSize+space;
cs = poem.contents.get(i).toCharArray();
for(int j=0; j<cs.length; j++){
x=(j+1)*(tfont.getSize()+space)+offset;
g.drawChars(cs, j, 1, x, y);
}
}
g.dispose();
return this.getRotateImage(img);
}
//將圖像順時針旋轉90°
private Image getRotateImage(final BufferedImage img) {
int w = img.getWidth();
int h = img.getHeight();
BufferedImage newImg = new BufferedImage(h,w,2);
AffineTransformOp op = new AffineTransformOp(AffineTransform.
getRotateInstance(Math.toRadians(90),h/2,h/2),null);
return op.filter(img,newImg);
}
//繪圖
public void paint(Graphics gg){
BufferedImage img = (BufferedImage)this.createImage();
int iw = img.getWidth();
int ih = img.getHeight();
Graphics2D g = (Graphics2D)gg;
int w = this.getWidth();
int h = this.getHeight();
g.setPaint(new GradientPaint(0,0,Color.DARK_GRAY,0,h,Color.black));
g.fillRect(0,0,w,h);
int x = (w-iw)/2;
int y = (h-ih)/2;
g.drawImage(img, x, y, this);
g.dispose();
}
//計算圖片的高度
private int getTHeight(Poetry s) {
int h = offset*2+space*5;
h+=(int)(fontSize*(scaleFactor+1));
h+=(fontSize+space*2)*s.contents.size();
return h;
}
//計算圖片的寬度
private int getTWidth(Poetry s) {
int tl = (int)(s.title.length()*(fontSize*scaleFactor+space)+offset*2);
int al = s.author.length()*(fontSize+space)+offset*2;
int t;
int max = tl>al?tl:al;
for(int i=0; i<s.contents.size(); i++){
t = s.contents.get(i).length()*(fontSize+space)+offset*2;
max=max>t?max:t;
}
return max;
}
}
//詩歌類
class Poetry{
public String title;//標題
public String author;//作者
public ArrayList<String> contents=new ArrayList<String>();//內容
public void addLine(String s){this.contents.add(s);}//加入一行內容
}
//
class PContents{
public static String s=
"蘇武廟\r\n"+
"溫庭筠\r\n"+
"蘇武魂銷漢使前,\r\n"+
"古祠高樹兩茫然。\r\n"+
"雲邊雁斷胡天月,\r\n"+
"隴上羊歸塞草煙。\r\n"+
"回日樓台非甲帳,\r\n"+
"去時冠劍是丁年。\r\n"+
"茂陵不見封侯印,\r\n"+
"空向秋波哭逝川。\r\n"+
"\r\n"+
"貧女\r\n"+
"秦韜玉\r\n"+
"蓬門未識綺羅香,\r\n"+
"擬托良媒益自傷。\r\n"+
"誰愛風流高格調?\r\n"+
"共憐時世儉梳妝。\r\n"+
"敢將十指誇針巧,\r\n"+
"不把雙眉斗畫長。\r\n"+
"苦恨年年壓金線,\r\n"+
"為他人作嫁衣裳。\r\n"+
"\r\n"+
"宮詞\r\n"+
"薛逢\r\n"+
"十二樓中盡曉妝,\r\n"+
"望仙樓上望君王。\r\n"+
"鎖銜金獸連環冷,\r\n"+
"水滴銅龍晝漏長。\r\n"+
"雲髻罷梳還對鏡,\r\n"+
"羅衣欲換更添香。\r\n"+
"遙窺正殿簾開處,\r\n"+
"袍褲宮人掃御床。\r\n"+
"\r\n"+
"利洲南渡\r\n"+
"溫庭筠\r\n"+
"澹然空水對斜暉,\r\n"+
"曲島蒼茫接翠微。\r\n"+
"波上馬嘶看棹去,\r\n"+
"柳邊人歇待船歸。\r\n"+
"數叢沙草群鷗散,\r\n"+
"萬頃江田一鷺飛。\r\n"+
"誰解乘舟尋范蠡,\r\n"+
"五湖煙水獨忘機?\r\n"+
"\r\n"+
"無題二首之一\r\n"+
"李商隱\r\n"+
"鳳尾香羅薄幾重,\r\n"+
"碧文圓頂夜深縫。\r\n"+
"扇裁月魄羞難掩,\r\n"+
"車走雷聲語未通。\r\n"+
"曾是寂寥金燼暗,\r\n"+
"斷無消息石榴紅。\r\n"+
"斑騅只系垂楊岸,\r\n"+
"何處西南任好風?\r\n"+
"\r\n"+
"無題二首之二\r\n"+
"李商隱\r\n"+
"重帷深下莫愁堂,\r\n"+
"卧後清宵細細長。\r\n"+
"神女生涯原是夢,\r\n"+
"小姑居處本無郎。\r\n"+
"風波不信菱枝弱,\r\n"+
"月露誰教桂葉香?\r\n"+
"直道相思了無益,\r\n"+
"未妨惆悵是清狂。\r\n"+
"\r\n"+
"金陵圖\r\n"+
"韋庄\r\n"+
"江雨霏霏江草齊,\r\n"+
"六朝如夢鳥空啼。\r\n"+
"無情最是台城柳,\r\n"+
"依舊煙籠十里堤。\r\n" +
"\r\n"
;
public static ArrayList<Poetry> load() throws Exception{
ArrayList<Poetry> list = new ArrayList<Poetry>();
BufferedReader br = new BufferedReader(new StringReader(s));
Poetry p = null;
String t = null;
while((t = br.readLine()) != null){
if(p==null)
p=new Poetry();
if(t.isEmpty()){
list.add(p);
p=null;
}
else if(p.title==null)
p.title=t;
else if(p.author==null)
p.author=t;
else
p.addLine(t);
}
return list;
}
}
『伍』 java設計實現了一個古詩的格式的處理的功能。
與是否使用java的關系不大,你必須先有一個平仄的庫,然後才能處理。
『陸』 JAVA:用二維數組儲存唐詩,並用for循環輸出
classTest{
publicstaticvoidmain(String[]args){
String[][]arr={
{"床前電腦光"},
{"疑似養魚缸"},
{"抬頭電風扇"},
{"低頭鞋兩雙"}
};
for(inti=0;i<arr.length;i++){
for(intj=0;j<arr[i].length;j++){
System.out.print(arr[i][j]);
}
System.out.println();
}
}
}
『柒』 用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; i<poem.length; i++){
System.out.println(poem[i] + (i%2==1 ?"," : "。"));
}
System.out.println();
for(i=0; i<items.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; i<poem.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; i<n; i++){
buff.append(keys[i]);
}
items[pos] = (char)('A' + pos) + ". " + buff.toString();
buff.delete(0, n);
for(i=0; i<4; i++){
if(i == pos){
continue;
}
arr = generateArray(n);
for(j=0; j<n; 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; i<n;){
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; i<n; i++){
if(arr[i] == key){
return true;
}
}
return false;
}
}
運行測試:
第一次測試:
以下唐詩的每一句都少一個字,請選擇合適的選項,將各選項中的字接順序填充後,形成完整的唐詩:
贈孟浩然
吾_孟夫子,
_流天下聞。
紅顏棄軒_,
白首卧松_。
醉月頻中_,
迷花不事_。
高山安_仰,
_此揖清芬。
A. 愛徒君風可雲冕聖
B. 雲徒君風冕聖愛可
C. 君冕聖可風雲徒愛
D. 愛風冕雲聖君可徒
正確答案:D. 愛風冕雲聖君可徒
第二次測試:
以下唐詩的每一句都少一個字,請選擇合適的選項,將各選項中的字接順序填充後,形成完整的唐詩:
贈孟浩然
吾愛孟夫_,
風流天下_。
紅顏棄_冕,
_首卧松雲。
醉月頻_聖,
迷花_事君。
高山_可仰,
徒此揖_芬。
A. 不白聞子中軒清安
B. 子聞軒白中不安清
C. 白不聞軒清安子中
D. 清子不白中安軒聞
正確答案:B. 子聞軒白中不安清
『捌』 求一個詩詞默寫的java代碼(網頁應用),要帶校驗答案的(答案在資料庫中)
什麼意思?就網頁上面有一個文本框,讓學生寫詩歌(文字),然後系統進行驗證對不對是嗎?
『玖』 Java:某文件中是一首詩,每句詩中都包含一個錯別字,編寫程序改正過來(使用randomFile)
packagetest;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.RandomAccessFile;
publicclasstest2{
staticvoidcheck(char[]ch,char[]ch2,RandomAccessFileraf){//檢查
for(inti=0;i<ch2.length;i++){
if(ch[i]!=ch2[i]){
modify(ch,i,raf);
}
}
}
staticvoidmodify(char[]ch,inti,RandomAccessFileraf){//修改
try{
raf.seek(i*2);//跳指針
raf.write(String.valueOf(ch[i]).getBytes());//寫正確答案
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicstaticvoidmain(String[]args){
Filef=newFile("D://李白靜夜思.txt");//注意文件內的內容也是一行,沒有回車
RandomAccessFileraf;
byte[]b=newbyte[48];
Stringtext="床前明月光,疑是地上霜。舉頭望明月,低頭思故鄉。";
char[]ch=text.toCharArray();//正確版本
char[]ch2;//錯誤版本
try{
raf=newRandomAccessFile(f,"rw");
for(inti=0;i<b.length;i++){
b[i]=raf.readByte();//讀取一個位元組
}
Stringtext2=newString(b);
ch2=text2.toCharArray();//把讀來的數據放入錯誤數組
check(ch,ch2,raf);
raf.close();
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
純手打,望點贊(我文件是放在D盤的根目錄下的)
『拾』 有JAVA的唐詩 帶註解那種的.
是安裝在手機上面的java的軟體哇?
功能就是可以在上面看唐詩,而且上面的唐詩有註解哇?
這個貌似沒有的!