Java初级相应习题

求1~99之间的和
public static void main(String[] args) {
// TODO Auto-generated method stub
int i=1;
int sum=0;
do {
sum+=i;
i=i+2;
}
while(i<=100);
System.out.println("1+3+5+……+99="+sum);

}
View Code

 

判断输入月份是什么季节

public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        int type = in.nextInt();
        switch(type) {
        case 3:
        case 4:
        case 5:
            System.out.println("春");
            break;
        case 6:
        case 7:
        case 8:
            System.out.println("夏");
            break;
        case 9:
        case 10:
        case 11:
            System.out.println("秋");
            break;
        case 12:
        case 1:
        case 2:
            System.out.println("冬");
            break;
        default:
            System.out.println("请输入正确月份");
            break;
                
        }
        

    }
View Code

 

输入W、A、X、D、判断上下左右

public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        String string = in.nextLine();
        char ch = string.charAt(0);
        System.out.println(ch);
        switch(ch) {
        case 'w':
        case 'W':
            System.out.println("上");
            break;
        case 'x':
        case 'X':
            System.out.println("下");
            break;
        case 'a':
        case 'A':
            System.out.println("左");
            break;
        case 'd':
        case 'D':
            System.out.println("右");
            break;
        default:
            System.out.println("请输入正确字符");
            break;
                
        }
        
View Code

 

推箱子

package n.txz;

import java.awt.Frame;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

//用作显示的主窗体
//需要继承Frame类————继承
//出现红色波浪线代表出现了错误,前方有一个红色叉
public class MainFrame extends JFrame implements KeyListener{
    //1.最起码应该设置一下窗口最基本的信息
    //1.1窗口是否显示
    //构造方法
    public MainFrame(){
        //由于添加图片组件的时候存在顺序,因此要根据需要调整
        //添加图片组件的顺序
        //背景图片由于其是最大的图片,因此最后添加,其他内容
        //都要在背景图片之前添加
        
        //添加各种各样要显示的东西.....
        
        //做笼子(目标位置)
        targetInit();
        //做灰太狼(人物)
        wolfInit();
        //做懒洋洋(箱子)
        sheepInit();
        //做树木(障碍)
        treeInit();
        //制作一个背景,并将背景添加到窗体中
        backgroundInit();
        //设置整个窗体
        setMainFrameUI();
        //使窗口能够监督用户是不是点了键盘
        this.addKeyListener(this);
    }
    JLabel [][]sheeps = new JLabel[12][16];
    //场景数据的模拟,使用二维数组模拟
    //1代表障碍,0代表空地
    //4代表箱子
    int[][] datas = {
        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
    };
    //代表人物横向的位置
    int wx ;
    //代表人物纵向的位置
    int wy ;
    //
    int num=0;
    //代表箱子总数
    int total=3;
    //推箱子障碍的初始化
    private void treeInit(){
        //1.创建图片
        Icon ic = new ImageIcon("tree.png");
        //遍历二维数组
        for(int i = 0;i<datas.length;i++){
            for(int j = 0;j<datas[i].length;j++){
                //判断一下原始数据里面的值如果是1,做障碍
                if(datas[i][j] == 1){
                    //障碍的初始化
                    //2.创建JLabel
                    JLabel lab_tree = new JLabel(ic);
                    //3.设置大小位置
                    lab_tree.setBounds(12+50*j,36+50*i,50,50);                           
                    //4.添加到窗体中
                    this.add(lab_tree);
                }
            }
        }
    }
    
    
    //推箱子目标的初始化
    private void targetInit() {
        //制作目标方式同人物或者箱子的制作
        //1.创建图片
        Icon i = new ImageIcon("target.png");
        //2.Jable
        JLabel lab_target1 = new JLabel(i);
        //3.设位置
        lab_target1.setBounds(712, 236, 50, 50);
        //4.添加进窗体
        this.add(lab_target1);
        
        //制作其他两个笼子
        JLabel lab_target2 = new JLabel(i);
        lab_target2.setBounds(712, 286, 50, 50);
        this.add(lab_target2);
        
        JLabel lab_target3 = new JLabel(i);
        lab_target3.setBounds(712, 336, 50, 50);
        this.add(lab_target3);
        
    }

    //推箱子箱子的初始化
    private void sheepInit(){
        Icon i = new ImageIcon("sheep-no.png");
        //2.使用JLabel组件模拟箱子
        JLabel lab_sheep1 = new JLabel(i);
        //3.设置箱子的位置
        lab_sheep1.setBounds(12+6*50, 36+4*50, 50, 50);
        //4.把箱子添加到窗体中
        this.add(lab_sheep1);
        //修改箱子对应位置上的数据为4
        datas[4][6] = 4;
        sheeps[4][6] = lab_sheep1;
        
        //制作第二只羊,图片不需要制作了
        //第二只羊制作时,只需要修改对应的显示位置就行了
        JLabel lab_sheep2 = new JLabel(i);
        lab_sheep2.setBounds(312, 336, 50, 50);    
        this.add(lab_sheep2);
        datas[6][6] = 4;
        sheeps[6][6] = lab_sheep2;
        //制作第三只羊,图片不需要制作了
        //第三只羊制作时,只需要修改对应的显示位置就行了
        JLabel lab_sheep3 = new JLabel(i);
        lab_sheep3.setBounds(312, 436, 50, 50);    
        this.add(lab_sheep3);
        datas[8][6] = 4;
        sheeps[8][6] = lab_sheep3;
    }
    
    //推箱子人物的初始化
    private void wolfInit() {
        //人物最初位置在哪里?
        wx = 4 ;
        wy = 5 ;
        
        //使用一张图片来模拟人物
        //1.创建一张图片,人物图片
        Icon i = new ImageIcon("wolf.png");
        //2.使用JLabel组件模拟人物
        lab_wolf = new JLabel(i);
        //3.设置人物在屏幕上的显示位置
        //人物的显示位置放置在何处较为合理?----------------
        lab_wolf.setBounds(12 + wx*50, 36 + wy*50, 50, 50);
        //4.把这个人物放到窗体里面
        this.add(lab_wolf);
    }
    JLabel lab_wolf;
    //背景初始化
    private void backgroundInit() {
        //背景是如何实现的?如何做背景?
        //想使用图片作为JLabel内部显示的内容
        //创建一个图片
        Icon i = new ImageIcon("bg.png");
        //使用JLabel制作背景
        JLabel lab_bg = new JLabel(i);
        //设置要添加的组件的位置与大小
        lab_bg.setBounds(12, 36, 800, 600);
        //将这个东西添加到窗体里面
        this.add(lab_bg);
    }
    //设置主窗体界面显示效果
    private void setMainFrameUI(){
        //设置整个窗体的布局模式为自由布局
        this.setLayout(null);
        //设置窗口的标题
        this.setTitle("推箱子 v1.0 - java.itcast.cn");
        //设置窗口的位置
        this.setLocation(110, 30);
        //设置窗口尺寸,多长400,多宽300
        this.setSize(826,650);
        //设置窗口不能最大化
        //this.setResizable(false);
        //设置窗口显示出来
        this.setVisible(true);
    }
    
    public void keyReleased(KeyEvent e) {
        //点击键盘后现在程序有动作执行了
        //如何分辨用户点击的是键盘上的某个按键?
        //通过键码值分辨是哪一个按键
        //获取键码值的方式:
        //key代表了你输入的是哪个按键
        //左 37
        //上 38
        //右 39
        //下 40
        int key = e.getKeyCode();
        if(key == 39){
            //让人物向右移动
            //一定要知道移动的位置前面有没有障碍
            //如果没有障碍移动
            //如果有障碍,什么事情都不做
            //碰撞检测之人物遇到障碍
//        if (datas[wy][wx+1]==0 ) {
//            wx = wx+1;
//            int x =(int)lab_wolf.getLocation().getX();
//            int y =(int)lab_wolf.getLocation().getY();
//            lab_wolf.setLocation(x+50, y);
//            Icon i = new ImageIcon("wolf-ym.png");
//            lab_wolf.setIcon(i);
//                  return;
//            }
//            
//        if(datas[wy][wx+1] == 1){
//                return;
//            }
//            
//        if (datas[wy][wx+1]==4 && datas[wy][wx+2]==1) {
//                return;
//            }
//        if (datas[wy][wx+1]==4 && datas[wy][wx+2]==4) {
//                return;
//            }
//        if (datas[wy][wx+1]==4 && datas[wy][wx+2]==12) {
//                return;
//            }  
//        if (datas[wy][wx+1]==12 && datas[wy][wx+2]==1) {
//                return;
//            }
//        if (datas[wy][wx+1]==12 && datas[wy][wx+2]==4) {
//                return;
//            }
//       if (datas[wy][wx+1]==12 && datas[wy][wx+2]==12) {
//                return;
//            }
    
//     if (datas[wy][wx+1]==8 ) {
//           wx = wx+1;
//           int x =(int)lab_wolf.getLocation().getX();
//           int y =(int)lab_wolf.getLocation().getY();
//           lab_wolf.setLocation(x+50, y);
//           Icon i = new ImageIcon("wolf-ym.png");
//           lab_wolf.setIcon(i);
//            return;
    //    }
        
//     if (datas[wy][wx+1]==4 (4)&& datas[wy][wx+2]==0(8) {
//           datas[wy][wx+1]=0;
//           datas[wy][wx+1]=4;
//            }
//        if (datas[wy][wx+1]==12 && datas[wy][wx+2]==0) {
//            datas[wy][wx+1]=0;
//            datas[wy][wx+1]=12;
//            num++;
//            }
//        if (datas[wy][wx+1]==12 && datas[wy][wx+2]==0) {
//        datas[wy][wx+1]=8;
//        datas[wy][wx+1]=4;
            num--;
//            }
    //    if (datas[wy][wx+1]==12 && datas[wy][wx+2]==8) {
//            datas[wy][wx+1]=8;
//            datas[wy][wx+1]=12;
            
//                }
        
        
//        sheeps[wy][wx+1].setLocation(12+wx*50+100,36+wy*50);
//        sheeps[wy][wx+2]=sheeps[wy][wx+1];
//        sheeps[wy][wx+1] = null;
//        
//        wx = wx+1;
//        int x =(int)lab_wolf.getLocation().getX();
//        int y =(int)lab_wolf.getLocation().getY();
//        lab_wolf.setLocation(x+50, y);
//        Icon i = new ImageIcon("wolf-ym.png");
//        lab_wolf.setIcon(i);
//    }
            
            if(datas[wy][wx+1] == 1){
                //所谓什么事情都不做就是不让下面的代码执行
                return;
            }
            //碰撞检测之人物遇到箱子
            if(datas[wy][wx+1] == 4){
                
                //遇到了箱子
                //如果遇到了箱子
            if(datas[wy][wx+2]!=1 && datas[wy][wx+2]!=4) {
                if(datas[wy][wx+2]==8) {
                    num++;
                    System.out.println(num);
                }

                //箱子在方向上移动一格
                //1.箱子的实际数据4的位置要发生变化
                //当前箱子所在的位置值变成0
                datas[wy][wx+1] = 0;
                //移动以后箱子所在的位置值变成4
                datas[wy][wx+2] = 4;
                //2.箱子的显示位置也要发生变化
                //所谓箱子模型的移动其实和人物的移动是一样的
                //就是改变箱子的坐标
                //改变箱子的坐标是使用箱子对象调用改变坐标的方法
                //只要能够获取到箱子对象和计算出要移动的坐标就OK了
                //箱子.setLocation(坐标,坐标);
                //箱子一定要使用你要移动的那个箱子
                sheeps[wy][wx+1].setLocation(12+wx*50+100,36+wy*50);
                sheeps[wy][wx+2]=sheeps[wy][wx+1];
                sheeps[wy][wx+1] = null;
            }
                //人物在方向上移动一格
                //-------人物移动代码开始----------
                wx = wx+1;
                int x =(int)lab_wolf.getLocation().getX();
                int y =(int)lab_wolf.getLocation().getY();
                lab_wolf.setLocation(x+50, y);
                Icon i = new ImageIcon("wolf-ym.png");
                lab_wolf.setIcon(i);
                //-------人物移动代码结束---------------
                return;
            }
            
                
            if(datas[wy][wx+1]==0)    {
            //首先要知道人物现在在什么位置
            wx = wx+1;
            //人物就是lab_wolf这个组件
            //使用lab_wolf.getLocation()可以得到人物的位置
            int x =(int)lab_wolf.getLocation().getX();
            int y =(int)lab_wolf.getLocation().getY();
            //要知道移动一次步子多大
            //一步移动50?向右移动
            //x方向的值要变大50,y方向的值不变
            //最终要移动到x+50   y 这个地方
            //由上面的两个数据计算出移动以后人物在哪里
            lab_wolf.setLocation(x+50, y);
            //人物移动后要进行图片更新
            //首先要有图片
            Icon i = new ImageIcon("wolf-ym.png");
            //然后设置显示图片为指定图片
            lab_wolf.setIcon(i);
            }
        }
        
        
        if(key == 37){
            if(datas[wy][wx-1] == 1){
                return;
            }
            if(datas[wy][wx-1] == 4){
            if(datas[wy][wx-2]!=1 && datas[wy][wx-2]!=4) {
                datas[wy][wx-1] = 0;
                datas[wy][wx-2] = 4;
                sheeps[wy][wx-1].setLocation(12+wx*50-100,36+wy*50);
                sheeps[wy][wx-2]=sheeps[wy][wx-1];
                sheeps[wy][wx-1] = null;
            }
                //-------人物移动代码开始----------
                wx = wx-1;
                int x =(int)lab_wolf.getLocation().getX();
                int y =(int)lab_wolf.getLocation().getY();
                lab_wolf.setLocation(x-50, y);
                Icon i = new ImageIcon("wolf-zm.png");
                lab_wolf.setIcon(i);
                //-------人物移动代码结束---------------
                return;
            }
            wx = wx-1;
            int x =(int)lab_wolf.getLocation().getX();
            int y =(int)lab_wolf.getLocation().getY();
            lab_wolf.setLocation(x-50, y);
            Icon i = new ImageIcon("wolf-zm.png");
            lab_wolf.setIcon(i);
        }
        
        
        if(key == 38){
            if(datas[wy-1][wx] == 1){
                //所谓什么事情都不做就是不让下面的代码执行
                return;
            }
            if(datas[wy-1][wx] == 4){
                if(datas[wy-2][wx]!=1 && datas[wy-2][wx]!=4) {
                    datas[wy-1][wx] = 0;
                    datas[wy-2][wx] = 4;
                    sheeps[wy-1][wx].setLocation(12+wx*50,36+wy*50-100);
                    sheeps[wy-2][wx]=sheeps[wy-1][wx];
                    sheeps[wy-1][wx] = null;
                }
                    //-------人物移动代码开始----------
                wy = wy-1;
                int x =(int)lab_wolf.getLocation().getX();
                int y =(int)lab_wolf.getLocation().getY();
                lab_wolf.setLocation(x, y-50);
                Icon i = new ImageIcon("wolf-sm.png");
                lab_wolf.setIcon(i);
                    //-------人物移动代码结束---------------
                    return;
                }
            wy = wy-1;
            int x =(int)lab_wolf.getLocation().getX();
            int y =(int)lab_wolf.getLocation().getY();
            lab_wolf.setLocation(x, y-50);
            Icon i = new ImageIcon("wolf-sm.png");
            lab_wolf.setIcon(i);
        }
        
        
        if(key == 40){
            if(datas[wy+1][wx] == 1){
                //所谓什么事情都不做就是不让下面的代码执行
                return;
            }
            if(datas[wy+1][wx] == 4){
                if(datas[wy+2][wx]!=1 && datas[wy+2][wx]!=4) {
                    datas[wy+1][wx] = 0;
                    datas[wy+2][wx] = 4;
                    sheeps[wy+1][wx].setLocation(12+wx*50,36+wy*50+100);
                    sheeps[wy+2][wx]=sheeps[wy+1][wx];
                    sheeps[wy+1][wx] = null;
                }
                    //-------人物移动代码开始----------
                wy = wy+1;
                int x =(int)lab_wolf.getLocation().getX();
                int y =(int)lab_wolf.getLocation().getY();
                lab_wolf.setLocation(x, y+50);
                Icon i = new ImageIcon("wolf.png");
                lab_wolf.setIcon(i);
                    //-------人物移动代码结束---------------
                    return;
                }
            wy = wy+1;
            int x =(int)lab_wolf.getLocation().getX();
            int y =(int)lab_wolf.getLocation().getY();
            lab_wolf.setLocation(x, y+50);
            Icon i = new ImageIcon("wolf.png");
            lab_wolf.setIcon(i);
        }
    }
    public void keyTyped(KeyEvent e) {
        
    }
    public void keyPressed(KeyEvent e) {
        
    }
}
View Code

 

QQ登录页面

import javax.swing.*;

import java.awt.*;

public class Login extends JFrame{

JPanel mb;

JLabel lb,lb1,lb2,lb3;

JButton bt;

JTextField username;

JPasswordField password;

JCheckBox select1,select2;

public Login() {

lb=new JLabel(new ImageIcon("qimg.png"));//上部分图片

mb=new JPanel();

//lb3=new JLabel(new ImageIcon("head.png"));//qq头像部分

username =new JTextField(20);

password=new JPasswordField(20);

lb1=new JLabel("<html>注册账号</html>");

lb1.setForeground(new Color(28,134,238));

lb1.setFont(new Font("宋体",Font.PLAIN,16));

lb1.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));

lb2=new JLabel("<html>找回密码</html>");

lb2.setForeground(new Color(28,134,238));

lb2.setFont(new Font("宋体",Font.PLAIN,16));

lb2.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));

select1=new JCheckBox("记住密码");

select1.setFont(new Font("宋体",Font.PLAIN,15));

select1.setBackground(Color.WHITE);

select2=new JCheckBox("自动登陆");

select2.setFont(new Font("宋体",Font.PLAIN,15));

select2.setBackground(new Color(255,250,250));

bt=new JButton("登 录");

//将组建添加到面板当中

mb.add(lb2);mb.add(lb1);//mb.add(lb3);
mb.add(select1);mb.add(select2);

mb.add(bt);mb.add(username);mb.add(password);

mb.setSize(540,190);

//将面板的布局设为null,然后自定义布局

mb.setLayout(null);

mb.setBackground(Color.white);

//lb3.setBounds(50, 3, 100, 100);

username.setBounds(160, 14, 250, 37);

username.setFont(new Font("宋体",Font.PLAIN,16));

password.setBounds(160,48, 250, 37);

password.setFont(new Font("宋体",Font.PLAIN,16));

lb1.setBounds(420,10,80,34);

lb2.setBounds(420,50,80,34);

select1.setBounds(160,90,120,20);

select2.setBounds(320,90,120,20);

bt.setBounds(160,130,250,37);

bt.setFont(new Font("宋体",Font.PLAIN,16));

bt.setBackground(new Color(0,178,238));

bt.setForeground(Color.white);

this.add(lb,BorderLayout.NORTH);

this.add(mb,BorderLayout.CENTER);

this.setSize(540, 440);

this.setTitle("用户登录");

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setLocation(620, 280);

this.setResizable(false);

this.setVisible(true);

}

public static void main(String[] args) {

Login login=new Login();

}

}
View Code

 

posted @ 2020-03-31 13:50  恬恬超级甜  阅读(167)  评论(0编辑  收藏  举报