要想到定义一个窗口类,判断点在不在矩形里好判断

需要一个数组,存放结果

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner; class Window{
int x1;
int y1;
int x2;
int y2;
int windowNum;//窗口顺序
public Window(int x1, int y1, int x2, int y2, int windowNum) {
super();
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
this.windowNum = windowNum;
}
//判断点在哪个窗口
public int inWindow(int x,int y) {
if(x >= this.x1 && x <= this.x2 && y >= this.y1 && y <=this.y2) {
return this.windowNum;
}else {
return 0;
}
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();//N个窗口,先输入的在最底层
int M = sc.nextInt();//点击了几次 List<Window> windows = new ArrayList<Window>(); for(int i = 0;i<N;i++) {
windows.add(new Window(sc.nextInt(),sc.nextInt(),sc.nextInt(),sc.nextInt(),i+1));
}
//存放结果
String [] result = new String[M]; int num = 0; for(int i = 0;i<M;i++) {
int x = sc.nextInt();
int y = sc.nextInt();
int j = windows.size() - 1;//最后一个打开的窗口在最前面
for(;j>=0;j--) {
Window currentWindow = windows.get(j);//获取当前窗口
int windowNum = currentWindow.inWindow(x, y);
if(windowNum > 0) {
result[num] = windowNum + "";//将被点击的窗口放到最前面
windows.add(currentWindow);
windows.remove(j);
break;
}
}
if(j < 0) {
result[num] = "IGNORED";
}
num++;
}
sc.close();
for(int i = 0;i<M;i++) {
System.out.println(result[i]);
}
}
}

201403-2 窗口 Java的更多相关文章

  1. atitit.窗口静听esc退出本窗口java swing c# .net php

    atitit.窗口静听esc退出本窗口java swing c# .net php 1. 监听esc  按键 1 1.1. 监听一个组件 1 1.2. 监听加在form上 1 2. 关闭窗口 2 1. ...

  2. 课程登记窗口java

    设计窗口,实现课程的登记,并且将相应的数据写入文件之中.保证的是课程名称不可以重复,对于任课老师必须是在已经设定好的五位老师之中.并且上课地点也是在预先设定的范围内.窗口可以持续进行保存,数据将在判断 ...

  3. 登录窗口java

    这次代码是登录窗口的制作. 主要的方面是是包括,用户名.密码.验证码.以及输入数据所需要的文本框,对于验证码可以通过点击验证码进行修改.同时对于验证码的前景色和背景色同时都得到修改. 点击注册(这里还 ...

  4. JS刷新父窗口的几种方式<转>

    常用的有:   window.opener.location.reload();    和  window.location.reload(); 浮层内嵌iframe及frame集合窗口,刷新父页面的 ...

  5. JS刷新父窗口的几种方式

    浮层内嵌iframe及frame集合窗口,刷新父页面的多种方法   <script language=JavaScript>       parent.location.reload(); ...

  6. JAVA上百实例源码以及开源项目

    简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬. ...

  7. 【Java】运用JDBC实现一个注册、登录系统的编写

    数据库的建立 首先,建立一个数据库,存储注册成功的账户信息. 其SQL的DDL语句如下: CREATE TABLE `jdbctest` ( `id` int(10) NOT NULL auto_in ...

  8. Java ConcurrentModificationException 异常分析与解决方案

    Java ConcurrentModificationException 异常分析与解决方案http://www.2cto.com/kf/201403/286536.html java.util.Co ...

  9. JAVA上百实例源码网站

    JAVA源码包1JAVA源码包2JAVA源码包3JAVA源码包4 JAVA开源包1 JAVA开源包2 JAVA开源包3 JAVA开源包4 JAVA开源包5 JAVA开源包6 JAVA开源包7 JAVA ...

随机推荐

  1. ubuntu12.04 安装完XRDP显示空白桌面

    先放链接:http://c-nergy.be/blog/?p=3518 在ubuntu软件中心搜索:fallback session,安装gnome-session-fallback: 在主文件夹(h ...

  2. 解决Java POI 导出Excel时文件名中文乱码,兼容浏览器

    String agent = request.getHeader("USER-AGENT").toLowerCase(); response.setContentType(&quo ...

  3. mysql 深度分页

    mysql  分页查询使我们常见的需求 ,但是随着页数的增加查询性能会逐渐下降,尤其是到深度分页的情况.我们可以把分页分为两个步骤,1.定位偏移量,2.获取分页条数的 数据. 所以当数据较大页数较深时 ...

  4. 编程入门-Eclipse基本使用

    编程入门-Eclipse基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.设置Eclipse的基本参数 1>.修改Eclipse默认的文件编码为"utf- ...

  5. windows driver 写数据到txt

    HANDLE hFile; OBJECT_ATTRIBUTES oa; IO_STATUS_BLOCK iosb; LARGE_INTEGER li; UNICODE_STRING strPath = ...

  6. 2. Jetson TX2--python3下编译安装opencv3.4

    https://cloud.tencent.com/developer/article/1327273 jetpack3.2自带了opencv3.3,但是只提供了python2.7的编译版本,所以也只 ...

  7. mybatis初步配置容易出现的问题

    The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You ...

  8. C#里的async和await的使用

    1. await指令调起线程执行异步方法和方法内后面的代码 2. await指令会阻塞当前方法后面的代码,但是不会阻塞外部调用 3. await必须搭配async使用,而async不一定需要有awai ...

  9. 吴裕雄--天生自然 PHP开发学习:类型比较

    <?php if(42 == "42") { echo '1.值相等'; } echo PHP_EOL; // 换行符 if(42 === "42") { ...

  10. 解决vue-cli3不停请求 /sockjs-node/info?t= 问题

    使用cli3会遇到一直报错get不到/sockjs-node/info?t= 的问题: 如果你的项目没有用到 sockjs,那么就找到报错的地方,将其注释掉即可. 路径在/node_modules/s ...