java篮球
‘壹’ java 面向对象 双色球设计
1、球对象
publicclassBall{
privateStringcolor;
privateintnumber;
publicStringgetColor(){
returncolor;
}
publicvoidsetColor(Stringcolor){
this.color=color;
}
publicintgetNumber(){
returnnumber;
}
publicvoidsetNumber(intnumber){
this.number=number;
}
}
2、球池对象
importjava.util.Random;
publicclassBallPond{
privateBall[]balls;
privateBall[]resultBalls;
publicBall[]getBalls(){
returnballs;
}
//生成原始球池
publicvoidsetBalls(Stringcolor){
Ball[]陆枯扒balls=null;
if(color.equals("red")){//生成红球池
Ball[]redBalls=newBall[33];
for(inti=1;i<=33;i++){
Ballball=newBall();
ball.setColor("red");
ball.setNumber(i);
redBalls[i-1]=ball;
}
balls=redBalls;
}else{//生成蓝球池
Ball[]blueBalls=newBall[16];
for(int早昌i=1;i<=16;i++){
Ballball=newBall();
ball.setColor("blue");
ball.setNumber(i);
blueBalls[i-1]=ball;
}
balls=blueBalls;
}
this.balls=balls;
}
publicBall[]getResultBalls(){
returnresultBalls;
}
//生成结果球池
publicvoidsetResultBalls(){
Ball[]resultBalls=null;
Randomr=newRandom();
if(("red").equals(this.balls[0].getColor())){//取红球6个
Ball[]resultRedBalls=newBall[6];
int[]nums=newint[6];
for(inti=0;i<6;i++){
intn=r.nextInt(33)+1;
intflag=0;
for(intj=0;j<6;j++){
if(n==nums[j]){
flag=flag+1;
}
}
if(flag==0){
nums[i]=n;
}
}
for(intk=0;k<6;k++){
inttip=nums[k];
resultRedBalls[k]=this.balls[tip];
}
resultBalls=resultRedBalls;
}else{//取蓝球1个
Ball[]resultBlueBalls=newBall[1];
intn=r.nextInt(16)+1;
resultBlueBalls[0]=this.balls[n];
resultBalls=resultBlueBalls;
}
this.resultBalls=败激resultBalls;
}
}
3、主方法调用
publicclassDoubleColorBall{
publicstaticvoidmain(String[]args){
//红球池
BallPondredBalls=newBallPond();
//蓝球池
BallPondblueBalls=newBallPond();
//初始化球池
redBalls.setBalls("red");
blueBalls.setBalls("blue");
//抽奖
redBalls.setResultBalls();
blueBalls.setResultBalls();
//输出获奖球号
System.out.println("红球:");
for(inti=0;i<6;i++){
System.out.print(redBalls.getResultBalls()[i].getNumber()+"");
}
System.out.println(" 蓝球:");
System.out.print(blueBalls.getResultBalls()[0].getNumber());
}
}
PS:主方法引用以上两个对象的时候注意引入你对象所放位置的包
结果如下:
‘贰’ 学习java难不难啊
零基础学习java
第一步,首先先学习,计算机基本原理,Java语言发展简史,这些是最基本的常识,初学者一定要了解这些常识。
第二步:要了解java开发的环境搭建,体验java程序员的开发环境,比如变量path和classpath的设置,java程序员的执行过程,java反编译工具。然后了解,计算机常用进制二、八、十六的介绍,以及它们与十进制之间的相互转化,ASCII码。
第四步:
对象的本质,理解面向对象,类与对象的关系,在程序中如何应用面向对象的思想解决问题。
如何设计类,设计类的基本原则,类的实例化过程,类的细节:构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类,Java的垃极回收机制,Javadoc介绍。
对象的三大特性:封装、继承和多态,以及相应的Java实现:子类对象的实例化过程、方法的覆盖、final关键字、抽象类、接口、继承的优点和缺点剖析。
对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。Extensibility的理解 、Extensibility的运用。
常用设计模式:Singleton、Template、Strategy模式。
第五步:这一阶段,你有很多知识点要学习。
如下:
JavaAPI介绍、Eclipse的安装和使用、String和StringBuffer、各种基本数据类型包装类,System和Runtime类,Date和DateFomat类等。Java Collections Framework:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合类API。
IO概念,File和FileRandomAccess类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应实现类,IO性能分析,字节和字符的转化流,包装流的概念,以及常用包装类,计算机编码。
递归程序,Java的高级特性:反射、代理和泛型。
第六步:这一阶段,你要开始了解多线程了!
这阶段,你主要的知识点如下:
多线程的概念,如何在程序中创建多线程(Thread、Runnable),线程安全问题,线程的同步,线程之间的通讯、死锁。Java图形用户接口编程(AWT、Swing),Java的事件处理机制,Java Applet简介。Java网络编程,网络通信底层协议TCP和UDP,以及其相应的Java实现:DatagramSocket,DatagramPacket,ServerSocket,Socket编程。网络通信常用应用层协议简介:HTTP、SMTP、POP3、MIME,以及WEB服务器的工作原理。编写网络聊天程序。Java正则表达式API详解及其应用。
第七步:这一阶段,你要学习html和JavaScript
主要知识点:
HTML语言,HTML语言背景知识、HTML全局标签、格式标签、文件标签、超链接标签、图像标签、客户端图像地图、表格标签、帧标签、表单标签、头元素、分区标签。CSS介绍、CSS的设置方法、样式选择器、样式属性介绍,Dreamweaver的使用。JavaScript编程,JavaScript语法、运算符、流程控制、函数、数组、对象、JavaScript的内部对象,JavaScript中专用于操作对象的语句。DHTML编程,理解DOM树,DOM对象,常用DOM对象的属性、方法和事件,编写事件处理程序、使用DOM操作HTML文档、遍历文档树上的节点、搜索文档中特定的元素、修改文档内容、往文档添加新内容、使用DOM操作XML文档。DHTML编程的实用案例:网页换肤、HTML表格排序等,以及JavaScript中的正则表达式及其应用。
‘叁’ JAVA编程题中,四个学生小李,小张,小赵,和小王在打篮球,现在编写一个程序,模拟他们抢篮球的过程,
ご参照してください。
public class People {
private String name;
public int num;
public People(String name) {
this.name = name;
this.num = 0;
}
public String getName() {
return this.name;
}
}
--------------------------------------------------------------------------------------------------
public class Play {
public static void main(String[] args) {
Play play = new Play();
List<People> pl = new ArrayList<People>();
pl.add(new People("小王"));
pl.add(new People("小张"));
pl.add(new People("小赵"));
pl.add(new People("小李"));
while(pl.size() > 0) {
play.challenge(pl);
}
}
private void challenge(List<People> pl) {
Random rd = new Random();
// この人はリストにのインデックス。リストは人がひとつある场合、ゼロです。
int nowPeople = pl.size() > 0 ? rd.nextInt(pl.size()) : 0;
int total = pl.get(nowPeople).num + 1;
pl.get(nowPeople).num = total;
System.out.println(pl.get(nowPeople).getName() + "抢到了,第" + total + "次球");
// 何番目でアウトする
if (total == 7) {
System.out.println(pl.get(nowPeople).getName() + "不想玩了");
pl.remove(nowPeople);
}
}
}