会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132995个问题
Python 全系列/第一阶段:Python入门/序列 28471楼
JAVA 全系列/第四阶段:网页编程和设计/CSS3(旧) 28472楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 28473楼

package com.bjsxt;

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import static com.bjsxt.GameUtil.*;

public class MyGameFrame extends Frame {
    Image bg = GameUtil.getImage("images/bg.jpg");
    Image plane = GameUtil.getImage("images/plane.png");
    int x,y; //飞机的坐标

    //初始化窗口
    public void launchFrame(){
        this.setTitle("飞机大战");
        this.setVisible(true);  //窗口默认不可见。需要让他看见(true)
        this.setSize(500,500);
        this.setLocation(300,300);
        //增加窗口关闭的动作
        this.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
                //启动窗口,绘制线程
            new PaintThread().start();
    }

    @Override
    public void paint(Graphics g) {
        System.out.println("窗口绘制中。。");
        g.drawImage(bg,0,0,FRAME_WIDTH,FRAME_HEIGHT,null);
        g.drawImage(plane,x,y,30,30,null);
        x--;





    }

    //重画线程
    class PaintThread extends Thread {
        @Override
        public void run() {
            while (true){
                repaint();
                try {
                    Thread.sleep(40); //1s = 1000ms
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    public static void main(String[] args) {
        MyGameFrame frame = new MyGameFrame();
        frame.launchFrame();
    }
    private Image offScreenImage = null;
    public void update(Graphics g) {
        if(offScreenImage == null)
            offScreenImage = this.createImage(FRAME_WIDTH,FRAME_HEIGHT);//这是游戏窗口的宽度和高度
        Graphics gOff = offScreenImage.getGraphics();
        paint(gOff);
        g.drawImage(offScreenImage, 0, 0, null);
    }

}

老师,这是我的代码,和视频的一样,为啥run的时候飞机找不到了wrong.png

JAVA 全系列/第一阶段:JAVA 快速入门/飞机大战小项目训练 28474楼
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解 28475楼
Python 全系列/第一阶段:Python入门/序列 28478楼

容器中有两个同名hello对象,如果用list.remove("hello"),为何默认删除索引是0的这个,如果要删除后面的hello只能根据索引删除吗?


package string;


import java.util.List;
import java.util.ArrayList;
import java.util.Scanner;

public class TestArrayList {
    public static void main(String[] args) {
        //创建集合对象,接口new实现类
        List list = new ArrayList();
        //1.添加add(Object obj)
        list.add("hello");
        list.add(123);//自动装箱

        //2.集合中元素的个数size()
        System.out.println(list.size());
        System.out.println("集合是否为空"+list.isEmpty());
        //3.addAll(collection c)集合中元素添加到其他集合中
        List list2=new ArrayList();
        list2.add("hello");
        list2.add(123);
        list.addAll(list2);
        System.out.println(list);
        System.out.println("集合中元素个数"+list.size());
        //4.删除
        System.out.println("根据对象去删除");
        list.remove("hello");
        System.out.println(list);
        list.remove(new Integer(123));//索引
        System.out.println(list);
        list.remove(0);//根据索引去删除
        System.out.println(list);
        list.add("world");
        System.out.println(list);
    }
}


JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 28481楼


1651156283(1).png

package com;

import com.mysql.jdbc.PreparedStatement;

import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class DynamicConditionQuertTest {
    /**
     * 动态条件查询Users
     */
    public List<Users> queryUser(Users users){
        List<Users> list = new ArrayList<>();

        Connection connection = null;
        PreparedStatement ps = null;
        ResultSet rs = null ;
        try {
            //创建链接
            connection = jdbcUtill.getConnection();
            //拼接查询sql语句
            String sql = this.generateSql(users);
            System.out.println(sql);
            //创建PreparedStatement对象
            ps = (PreparedStatement) connection.prepareStatement(sql);
            //执行sql
            rs = ps.executeQuery();
            while (rs.next()){
                Users users1 = new Users();
                users1.setUserid(rs.getInt("userid"));
                users1.setUserage(rs.getInt("userage"));
                users1.setUsername(rs.getString("username"));
                list.add(users1);
            }

        }catch (Exception e){
            e.printStackTrace();
        }finally {
            jdbcUtill.closeResource(rs,ps,connection);
        }
        return list;
    }

    /**
     * 生成动态条件查询sql
     * @param
     */
    public String generateSql(Users users){
        StringBuffer sb = new StringBuffer("select * from users where 1=1");

        if (users.getUserid()>0){
            sb.append("and userid = ").append(users.getUserid());
        }
        if(users.getUsername()!=null&&users.getUsername().length()>0){
            sb.append("and username = '").append(users.getUsername()).append("'");

        }
        if (users.getUserage()>0){
            sb.append("and userage =").append(users.getUserage());
        }
        return sb.toString();

    }

    public static void main(String[] args) {
        DynamicConditionQuertTest dcq = new DynamicConditionQuertTest();
        Users users1 = new Users();
        users1.setUsername("xiaoming");
        users1.setUserage(23);
        List<Users> list = dcq.queryUser(users1);

        for (Users users2 :list){
            System.out.println(users2.getUserid()+" "+users2.getUsername()+" "+users2.getUserage());
        }

    }
}


异常报错

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'username = 'xiaoming'and userage =23' at line 1


我没加限定条件

 users1.setUsername("xiaoming");
        users1.setUserage(23);

是没报错的,加了反而报错不知道为什么,老师看一下

JAVA 全系列/第三阶段:数据库编程/JDBC技术 28483楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/数据结构 28484楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637