到底哪行代码出错了呀😭

书上的单选题。搜题得到的结果既有B又有C的,没找出来哪里有错误,恳请各位帮本人解答一下

img

那你觉得c是错在哪里

Java中byte类型的取值范围是-128至127,所以byte b=128这种写法是不对的,会编译报错。

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7659475
  • 这篇博客你也可以参考下:给定一个非负整数 c ,判断是否存在两个整数 a 和 b,其平方和等于c
  • 除此之外, 这篇博客: 在王者荣耀角度下分析面向对象程序设计B中23种设计模式之桥接模式中的 三、王者荣耀角度下实现桥接模式结构图及代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 此模式实例下的UML类图

    在这里插入图片描述

    eclipse结构图
    在这里插入图片描述

    主函数【应用(Application)】
    Applicayion.java

    package angle_bridgePattern;
    
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Application extends JFrame{
          JButton seeWar;
          WatchWar watchWar;
          Battle battle;
          Application(WatchWar war,Battle battle){
        	   watchWar=war;
               this.battle=battle; 
               add(watchWar,BorderLayout.CENTER);
               seeWar=new JButton("观战");  
               add(seeWar,BorderLayout.SOUTH);
               seeWar.addActionListener(new ActionListener(){
                                                public void actionPerformed(ActionEvent e){
                                                	watchWar.makeWarContants();
                                                }});
              setVisible(true);
              setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
          }
          public static void main(String args[]) {
               Battle  battle=new FriendsBattle();
               WatchWar  war=new FriendsWatchingWar(battle);
               Application  application1=new Application(war,battle);
               application1.setBounds(10,10,200,300);  
               battle=new GreatGodBattle();
               war=new GreatGodWatchingWar(battle);
               Application  application2=new Application(war,battle);
               application2.setBounds(220,10,200,300); 
          }
    }   
    
    

    抽象
    WatchWar.java

    package angle_bridgePattern;
    
    import javax.swing.*;
    import java.awt.*;
    
    public abstract class  WatchWar extends JPanel{
          Battle  battleMaker;
          public  abstract void makeWarContants () ;
    }
    
    

    实现者
    Battle.java

    package angle_bridgePattern;
    
    import java.util.ArrayList;
    public interface Battle{
         public  ArrayList<String>  makeBattle();
    }
    

    细化抽象
    FriendsWatchingWar.java

    package angle_bridgePattern;
    
    import javax.swing.*;
    import java.awt.*;
    import java.util.ArrayList;
    
    public  class  FriendsWatchingWar extends WatchWar implements Runnable{
         JLabel showWar;
         Thread thread;
         ArrayList<String> content;
         FriendsWatchingWar(Battle battle){
        	   battleMaker=battle;  
               setLayout(new BorderLayout());
               showWar=new JLabel("好友观战");
               showWar.setFont(new Font("",Font.BOLD,39));
               add(showWar,BorderLayout.CENTER);
               thread=new Thread(this);
        } 
         public void makeWarContants (){
               content=battleMaker.makeBattle();
               if(!thread.isAlive()){
                    thread=new Thread(this);
                    thread.start();  
               }
         }
         public void run(){
               for(int i=0;i<content.size();i++){
            	    showWar.setText(content.get(i)); 
                    try{  Thread.sleep(1500);
                    }
                    catch(InterruptedException exp){}
               }
         }
    }
    

    GreatGodWatchingWar.java

    package angle_bridgePattern;
    
    import javax.swing.*;
    import java.awt.*;
    import java.util.ArrayList;
    
    public  class  GreatGodWatchingWar extends WatchWar implements Runnable{
         JLabel showWar;
         Thread thread;
         ArrayList<String> content;
         GreatGodWatchingWar(Battle battle){
        	   battleMaker=battle;  
               setLayout(new BorderLayout());
               showWar=new JLabel("大神观战");
               showWar.setFont(new Font("",Font.BOLD,39));
               add(showWar,BorderLayout.CENTER);
               thread=new Thread(this);
        } 
         public void makeWarContants (){
               content=battleMaker.makeBattle();
               if(!thread.isAlive()){
                    thread=new Thread(this);
                    thread.start();  
               }
         }
         public void run(){
               for(int i=0;i<content.size();i++){
            	    showWar.setText(content.get(i)); 
                    try{  Thread.sleep(1500);
                    }
                    catch(InterruptedException exp){}
               }
         }
    }
    

    具体实现者
    FriendsBattle.java

    package angle_bridgePattern;
    
    import angle_bridgePattern.Battle;
    
    import java.util.ArrayList;
    public class FriendsBattle implements Battle{
          ArrayList<String> content;
          FriendsBattle(){
              content=new ArrayList<String>();
         }
          public  ArrayList<String>  makeBattle(){
                  content.clear();
                  content.add("好友【峡谷一级演员】选择嬴政出战");
                  content.add("好友【峡谷一级演员】使用嬴政击杀敌方英雄获得一血");
                  content.add("好友【峡谷一级演员】使用嬴政“无人能挡”");
                  content.add("好友【峡谷一级演员】向队友发出“集合,保护我方水晶”信号");
                  content.add("晋级对局结束!好友【峡谷一级演员】晋级失败!");
                  return content;
          }
    }
    

    GreatGodBattle.java

    package angle_bridgePattern;
    
    import angle_bridgePattern.Battle;
    
    import java.util.ArrayList;
    public class GreatGodBattle implements Battle{
          ArrayList<String> content;
          GreatGodBattle(){
              content=new ArrayList<String>();
         }
          public  ArrayList<String>  makeBattle(){
                  content.clear();
                  content.add("大神玩家【小心边路反杀】选择橘右京出战");
                  content.add("大神玩家【小心边路反杀】使用橘右京击杀敌方英雄获得一血");
                  content.add("大神玩家【小心边路反杀】使用橘右京“大杀特杀”");
                  content.add("大神玩家【小心边路反杀】向队友发出“集合,攻击敌方水晶”信号");
                  content.add("对局结束!大神玩家获得胜利!");
                  return content;
          }
    }
    
    

    运行结果截图
    在这里插入图片描述
    在这里插入图片描述
    更多设计模式在王者荣耀中的应用请点击我的→设计模式在王者荣耀中的应用专栏