1、import javax.swing.JPanel;public class ChessBoard /* * param args */ public static void main(String args) / TODO Auto-generated method stub JFrame frame=new JFrame(棋盘); frame.setLayout(null); JPanel panel=new JPanel(); JButton button=new JButton( Chess a=new Chess(); a.setBounds(40, 40, 600, 600); f
2、rame.add(panel); frame.add(a); frame.setSize(900, 900); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 调用的类:import java.awt.Graphics;public class Chess extends JPanel public void paint(Graphics g) String number1=一,二三四五六七八九,十十一十二十三十四十五十六十七十八十九; Stringnumber=123456789
3、10111213141516171819 for(int i=1;i=19;i+)/打印数字 g.drawString(numberi-1,i*30,20); g.drawString(number1i-1,5,i*30); i+) /画19根横线 int j=30; g.drawLine(j, i*j, j*19, j*i);i+) /画19根竖线 g.drawLine(j*i, j, j*i, j*19); for(int i=0;3;i+) /棋盘中间的黑点 for(int j=0;jj+) g.fillOval(115+180*i, 115+180*j, 10,10);结果截图:题目四
4、:打印日历Main主类:package mycalendar.java.lidan;import java.util.Scanner;public class TestMyCalenda int year,month; System.out.println(请输入年份 Scanner in=new Scanner(System.in); year=in.nextInt();请输入月份 month=in.nextInt(); MyCalendar ca=new MyCalendar(year,month); ca.displayCalendar();import java.util.Calend
5、ar;public class MyCalendar private int month; private int year; private String wee=日private intdays=31,28,31,30,31,30,31,31,30,31,30,31; public MyCalendar(int yea,int mon)/MyCalendar类的带参数构造函数 this.year=yea; this.month=mon; public MyCalendar()/MyCalendar类的带参数构造函数 this.month=0; this.year=1900; public
6、boolean isLeapYear()/判断输入的年份是否为闰年 if(year%4=0&year%100!=0)|year%400=0) return true; else return false; public int getDays()/根据输入的月份确立这个月有多少天 if(isLeapYear()=true) return daysmonth-1+1; else return daysmonth-1; public int getFirstOfWeek()/计算该月的1日对应星期几 Calendar d=Calendar.getInstance(); d.set(year,mon
7、th-1,1);/默认是当前日期 int weekday=d.get(Calendar.DAY_OF_WEEK)-1;/获取当前日期在星期中的第几天 return weekday; public void displayTitle()/打印表头 System.out.println( +year+年+month+月+的日历 System.out.println(); for(int i=0;wee.length;i+) System.out.printf(%7s , weei); public void displayCalendar()/输入整个日历 displayTitle(); Stri
8、ng format=%+4*getFirstOfWeek()+s;/格式 if(getFirstOfWeek()=0) /不能省略这个判断,假如getFirstOfWeek()=0时,格式不成立 System.out.printf(%28s else System.out.printf(format,=getDays(); if(i=1) System.out.print(i); else System.out.printf(%4s,i); if(getFirstOfWeek()+i-1)%7=0) System.out.println(); 输入2014年3月份输入2004年2月输入2013
9、年2月洗牌public class Card Pork cards=new Pork(); int pair;请输入几副牌 pair=in.nextInt(); cards.setPair(pair);原始牌的顺序 cards. setDigit(); cards.display(); System.out.println();洗牌后的顺序 cards. shuffle(); System.exit(0);所调用的类:/定义牌的花色 import java.lang.String; public enum ColorType DIAMONDS(方块), SPADE(黑桃 REDHEARD(红心
10、 CLUB(梅花 private String mcolor; private ColorType(String mc) this.mcolor=mc; public String toString() return String.valueOf ( this.mcolor );/初始化牌和洗牌的pork类public class Pork int pair; private String pork; String value=AJQK ColorType type=ColorType.values(); public void setPair(int mpair) if(pair=1) pa
11、ir=1; this.pair=mpair; pork=new String52*pair;/在方法里创建时,能根据所需来决定 public void setDigit() int j=0;52*pair;i+) this. porki= type0+ valuej%13; this. pork+i= type1+ valuej%13; this.pork+i= type2+ valuej%13; this. pork+i= type3+ valuej%13; j+; public void shuffle() int temp=0; String tcard; temp=(int)(Math
12、.random()*10000)%(52*pair); tcard=porktemp; porktemp=porki; porki=tcard; public void display() if(i%13=0) System.out.println();%7s,porki);输入1副牌输入3副牌七实验体会 遇到问题时多思考,寻找解决方案,在我做洗牌的时候,首先做的程序只能洗一副牌,不能满足实际需求,后来我开始尝试用StringBuffer类类型,但是老是遇到String类不能转化为StringBuffer,多次试了以后还是不行,于是再想其他办法,突然脑门开光了,创建一个方法来实现。刚开始接触java时有点小不适应,不过通过这次实验,开始有点感觉了。(这次实验本来可以提早提交的,但是由于电脑拿去维修了,只能推迟提交,下次一定按时完成)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1