为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Java入门第三季_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第三季

陈码农
难度入门
时长 5小时 0分
  • String类的常用方法表

    查看全部
  • 还是有点小问题,比大小那部分代码不是很理想

    package com.youxi;


    public class Pukepai implements Comparable<Pukepai>{

        private  String cardPoints;//牌的点数

        private  String cardSuit;//牌的花色


        

        public Pukepai(String cardPoints,String cardSuit){

        this.cardPoints=cardPoints;

        this.setCardSuit(cardSuit);


        }

        public Pukepai(){

       

        }

    public String getCardPoints() {

    return cardPoints;

    }


    public void setCardPoints(String cardPoints) {

    this.cardPoints = cardPoints;

    }


    public String getCardSuit() {

    return cardSuit;

    }


    public void setCardSuit(String cardSuit) {

    this.cardSuit = cardSuit;

    }

    //显示牌信息

        public String toString(){

    return cardSuit+cardPoints;

         

        }

        //获取花色

        public int getcardSuits(){

        String[] cardSuits={"黑桃","红桃","梅花","方片"};

        for(int i=0;i<cardSuits.length;i++){

        if(cardSuits[i].equals(cardSuits)){

        return i;

        }

        }

        return -1;    

       

        }

        //获取点数

        public int getcardPoints(){

          String[] cardPoints={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};

          for(int j=0;j<cardPoints.length;j++){

         if(cardPoints[j].equals(cardPoints)){

         return j;

         }

          }

          return -1;

        }

    @Override

    public int compareTo(Pukepai arg0) {

    if(this.getcardPoints()==arg0.getcardPoints()){

    return this.getCardSuit().compareTo(cardSuit);

    }

    else{

    return this.getCardPoints().compareTo(cardPoints);

    }

    }



        

    }

    package com.youxi;


    import java.util.ArrayList;

    import java.util.List;


    public class Play {

       private String name;

       private String id;

       public List<Pukepai> pukepaiList;

       

       public Play(String name,String id){

      this.name=name;

      this.id=id;

      pukepaiList=new ArrayList<Pukepai>();

       }


    public String getName() {

    return name;

    }


    public void setName(String name) {

    this.name = name;

    }


    public String getId() {

    return id;

    }


    public void setId(String id) {

    this.id = id;

    }

    public void setPukepai(Pukepai arg0){

    pukepaiList.add(arg0);

    }

    //重写toString()方法

    public String toString(){

    return "Name"+name;


    }




    @Override

    public boolean equals(Object obj) {

    if (this == obj)

    return true;

    if (obj == null)

    return false;

    if(!(obj instanceof Play)){

    return false;

    }

    Play p=(Play) obj;

    return id.equals(p.id);

    }


    }

    package com.youxi;


    import java.util.ArrayList;

    import java.util.Collection;

    import java.util.Collections;

    import java.util.List;

    import java.util.Scanner;


    public class Game {

      private List<Play> playList;

      private List<Pukepai> pukepaiList;

      public Game(){

     playList=new ArrayList<Play>();

     pukepaiList=new ArrayList<Pukepai>();

      }

      //初始化牌(创建牌)

      public void Chuangjianpai(){

     System.out.println("-----生成扑克牌-----");

     String[] cardSuits={"黑桃","红桃","梅花","方片"};

     String[] cardPoints={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};

     for(int i=0;i<cardSuits.length;i++){

     for(int j=0;j<cardPoints.length;j++){

     pukepaiList.add(new Pukepai(cardPoints[j],cardSuits[i]));

     }

     }

     System.out.println("创建成功");

     System.out.println(pukepaiList);

      }

      //洗牌

      public void Xipai(){

     System.out.println("---开始洗牌----");

     Collections.shuffle(pukepaiList);//随机打乱pukepaiList顺序

     System.out.println("---洗牌结束----");

      }

      //创建玩家

      public void ChuangjianPlayer(){

     Scanner ID=new Scanner(System.in);

     System.out.println("请输入第一位玩家ID");

     String id1=ID.next();

     System.out.println("请输入第二位玩家ID");

     String id2 =ID.next();

     Scanner NAME =new Scanner(System.in);

     System.out.println("请输入第一位玩家NAME");

     String name1=NAME.next();

     System.out.println("请输入第二位玩家NAME");

     String name2=NAME.next();

     System.out.println("成功添加玩家一:"+id1+" "+name1);

     System.out.println("成功添加玩家二:"+id2+" "+name2);

     playList.add(new Play(name1, id1));

     playList.add(new Play(name2, id2));

      }

      //发牌

      public void Fapai(){

     System.out.println("---开始发牌----");

     for(int i=0;i<2;i++){

     for(int j=0;j<playList.size();j++){

     System.out.println("玩家:"+playList.get(j).getName()+"拿牌");

     playList.get(j).setPukepai(pukepaiList.get(0));

     pukepaiList.remove(0);

     }

     }

     System.out.println("---发牌结束----");

      }

      //比大小(游戏开始)

      public void StartGame(){

    System.out.println("---游戏开始----");

    for(int i=0;i<playList.size();i++){

    Collections.sort(playList.get(i).pukepaiList);

    System.out.println("玩家"+playList.get(i).getName()+"最大手牌为:"+

    playList.get(i).pukepaiList.get(1));

    }

    int daxiao=playList.get(0).pukepaiList.get(1).compareTo(playList.get(1).pukepaiList.get(1));

    //条件语句,相当于if...else

    String name=daxiao>0 ? playList.get(0).getName():playList.get(1).getName();

    System.out.println("----玩家"+name+"获胜");

    // //接比较结果放于daxiao变量

    // int daxiao=playList.get(0).pukepaiList.get(1).compareTo(playList.get(1).pukepaiList.get(1));

    // System.out.println(daxiao);

    // if(daxiao>0){

    // String name1=playList.get(0).getName();

    // System.out.println("玩家"+name1+"获胜"); 

    // }

    // else if(daxiao<0){

    // String name2=playList.get(1).getName();

    // System.out.println("玩家"+name2+"获胜");

    // }else{

    // System.out.println("平局");

    }


      //手牌展示

      public void Handpai(){

     System.out.println("---玩家展示手牌----");

     Collections.sort(playList.get(0).pukepaiList);

     System.out.printf(playList.get(0).getName()+":"+playList.get(0).pukepaiList);

     Collections.sort(playList.get(1).pukepaiList);

     System.out.printf(playList.get(1).getName()+":"+playList.get(1).pukepaiList);

      }

    }

    package com.youxi;


    public class YouxiTest {


    /**

    * @param args

    */

    public static void main(String[] args) {

    Game ga=new Game();

    ga.Chuangjianpai();

    ga.Xipai();

            ga.ChuangjianPlayer();

            ga.Fapai();

            ga.StartGame();

            ga.Handpai();

    }


    }


    查看全部
  • 手动:装箱靠new ,拆箱靠value;
    自动:直接赋值就好

    查看全部
    1. length是针对数组长度的

    2. length()是针对字符串的


    查看全部
  • continue;循环再次开始

    nall  空

    查看全部
  • Java 中 String 类的常用方法 Ⅰ

    String 类提供了许多用来处理字符串的方法,例如,获取字符串长度、对字符串进行截取、将字符串转换为大写或小写、字符串分割等,下面我们就来领略它的强大之处吧。

    String 类的常用方法:

    结合代码来熟悉一下方法的使用:

    运行结果:

    友情提示:

    1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1

    2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -1

    3. 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符


    查看全部
  • package exceptionHandle;


    import java.util.*;


    public class BorrowBooksSystem {


    Book Hong=new Book("红楼梦",1);

    Book San=new Book("三国演义",2);

    Book Xi=new Book("西游记",3);

    Book Shui=new Book("水浒传",4);

    Book[] books={Hong,San,Xi,Shui};


    public void open(){

    while(true){

    try{

    Scanner keyboard=new Scanner(System.in);

    System.out.println("输入命令:1-按照名称查找图书  2-按照序号查找图书");

    int key=keyboard.nextInt();


    if(key==1){

    System.out.println("输入图书名称:");

    String str=keyboard.next();

    findBookStr(str);

    }else if(key==2){

    System.out.println("输入图书编号:");

    int num=keyboard.nextInt();

    findBookInt(num);

    }else{

    throw new ErrorInputException("命令输入错误!请根据提示输入数字命令!");

    }


    }catch(ErrorInputException ei){

    ei.printStackTrace();

    }catch(InputMismatchException im){

    System.out.println("命令输入错误!请根据提示输入数字命令!");

    }

    }

    }




    public void findBookStr(String str){

    try{

    for(int i=0;i<books.length ;i++){

    if (books[i].getName().equals(str)){

    System.out.println("book:"+books[i].getName());

    System.exit(0);

    }

    }

    throw new BookNotFindException("图书不存在!");

    }catch(BookNotFindException e){

    System.out.println("图书不存在!");

    }


    }

    public void findBookInt(int num){

    try{

    for(int i=0;i<books.length ;i++){

    if (books[i].getNumber()==num){

    System.out.println("book:"+books[i].getName());

    System.exit(0);

    }

    }

    throw new BookNotFindException("图书不存在!");

    }catch(BookNotFindException e){

    System.out.println("图书不存在!");

    }


    }


    public static void main(String[] args){

    BorrowBooksSystem bs=new BorrowBooksSystem();

    bs.open();

    }

    }


    class BookNotFindException extends Exception{


    public BookNotFindException(String string) {

    super(string);// TODO Auto-generated constructor stub

    }


    }


    class ErrorInputException extends Exception{


    public ErrorInputException(String string) {

    super(string);

    // TODO Auto-generated constructor stub

    }


    }


    查看全部
    3 采集 收起 来源:经验总结

    2018-08-01

  • Java 中 String 类的常用方法 Ⅰ

    String 类提供了许多用来处理字符串的方法,例如,获取字符串长度、对字符串进行截取、将字符串转换为大写或小写、字符串分割等,下面我们就来领略它的强大之处吧。

    String 类的常用方法:

    结合代码来熟悉一下方法的使用:

    运行结果:

    友情提示:

    1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1

    2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -1

    3. 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符


    查看全部
  • try{

    一些可能会引起错误的代码

    }catch(捕获错误){  //从小到大。先写子类再写父类

    执行一些代码

    }finally{

    //最终要执行的一些代码

    }

     0


    查看全部
  • comparable接口——可比较的

        实现该接口表示:这个类的实例可以比较大小,可以进行自然排序

        定义了默认的比较规则

        其实现类需要实现compareTo()方法

        compareTo() 方法返回正数表示大,负数表示小,0相等

    Comparator接口——比较工具接口

        用于定义临时比较规则,而不是默认比较规则

        其实现类需要实现compare()方法

        

    查看全部
  • 字符串比较,按位比较的

    查看全部
  • contains会调用object中的equals方法,所以需要在继承类中重写equals方法即可

    查看全部
  • 在课程序列中,如何判断是否包含某门或者某几门课程?

    如果课程序列包含某门课程,如何判断该课程的索引位置?

    在学生映射表中,如何判断是否包含某个学生ID?

    又该如何判断是否包含某个学生对象?

    如果想把课程或者学生对象,按照课程名称或者学生姓名排序又该怎么办?按照ID排序呢?

    查看全部
  • instanceof 

    查看全部
  • Set<String> keySet = students.keySet();

    查看全部

举报

0/150
提交
取消
课程须知
此部分为 Java 课程的进阶内容,适合具有一定 Java 基础的伙伴们学习,如果您是新手,建议您移步 《Java入门第一季》 和 《Java入门第二季》,在理解并掌握面向对象相关知识后再回来进修。
老师告诉你能学到什么?
本课程将学习 Java 中的异常处理、集合框架、字符串、常用类等,逐步学习掌握 Java 高级技术。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!