Java面向对象3(K~O)
K 正方形(SDUT 2444)
import java.lang.reflect.Array;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
node s[] = new node[2000];
// System.out.println(55);
for (int k = 0; k < t; k++) {
for (int i = 0; i < 4; i++) {
s[i] = new node();
s[i].x = sc.nextInt();
s[i].y = sc.nextInt();
// System.out.println(s[i].x + " " + s[i].y);
}
s[4] = new node();
s[4].x = s[0].x;
s[4].y = s[0].y;
Sum p = new Sum(s);
if (p.getAns() == 1) {
System.out.print("YES\n");
} else
System.out.print("NO\n");
}
sc.close();
}
}
class node {
int x;
int y;
}
class Sum {
node s[] = new node[200];
Sum(node s[]) {
this.s = s;
}
int f1() {
int f = 1;
for (int i = 0; i < 3; i++) {
int x = s[i].x - s[i + 1].x;
int y = s[i].y - s[i + 1].y;
int z = s[i + 1].x - s[i + 2].x;
int w = s[i + 1].y - s[i + 2].y;
if (x * x + y * y != z * z + w * w) {
f = 0;
break;
}
}
return f;
}
int f2() {
int f = 1;
for (int i = 0; i < 3; i++) {
int x = (s[i + 1].x - s[i].x) * (s[i + 2].x - s[i + 1].x);
int y = (s[i + 1].y - s[i].y) * (s[i + 2].y - s[i + 1].y);
if (x != -y) {
f = 0;
break;
}
}
return f;
}
int getAns() {
int flag1 = f1();
int flag2 = f2();
if (flag1 == 1 && flag2 == 1)
return 1;
else
return 0;
}
}
相似三角形(SDUT 2562)
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a[] = new int[10];
while (sc.hasNext()) {
for (int i = 0; i < 6; i++) {
a[i] = sc.nextInt();
}
Node p = new Node(a);
int ans = p.getAns();
if (ans == 1)
System.out.println("YES");
else
System.out.println("NO");
}
}
}
class Node {
int a[] = new int[10];
Node(int a[]) {
this.a = a;
}
int getOk() {
int f1 = 0;
int f2 = 0;
if (a[0] + a[1] > a[2] && a[0] + a[2] > a[1] && a[1] + a[2] > a[0])
f1 = 1;
if (a[3] + a[4] > a[5] && a[3] + a[5] > a[4] && a[4] + a[5] > a[3])
f2 = 1;
if (f1 == 1 && f2 == 1)
return 1;
else
return 0;
}
int getAns() {
if (getOk() == 1) {
int f = 0;
Arrays.sort(a, 0, 3);
Arrays.sort(a, 3, 6);
if ((a[0] * a[4] == a[1] * a[3]) && (a[0] * a[5] == a[2] * a[3]) && (a[1] * a[5] == a[2] * a[4]))
f = 1;
return f;
} else
return 0;
}
}
N 手机键盘 (SDUT 2618)
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s[] = new String[10];
s[2] = "abc0";s[3] = "def0";s[4] = "ghi0"; s[5] = "jkl0";
s[6] = "mno0"; s[7] = "pqrs"; s[8] ="tuv0";s[9] = "wxyz";
String str;
while (sc.hasNext()) {
str = sc.nextLine();
Node p;
p = new Node(s,str);
int ans = p.getAns();
System.out.println(ans);
}
}
}
class Node {
String str;
String s[] = new String[10];
Node(String s[], String str) {
this.str = str;
this.s = s;
}
int getAns()
{
int ans = 0,f = 0;
int flag = 0;
int i,j,k;
int len = str.length();
for( i = 0; i < len; i ++)
{
flag = 0;
for( j = 2; j <= 9; j ++)
{
for( k = 0; k < 4; k ++)
{
if(i == 0)
{
if(s[j].charAt(k) == str.charAt(i)) {
ans += k + 1;
f = j;
flag = 1;
break;
}
}
else {
if(s[j].charAt(k) == str.charAt(i))
{
if(f == j)ans += k + 3;
else {ans += k + 1;f = j;}
flag = 1;
break;
}
}
}
if(flag == 1) break;
}
}
return ans;
}
}
2-2 Time类的定义 (SDUT 2669)
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int H,M,S;
H = sc.nextInt();
M = sc.nextInt();
S = sc.nextInt();
Time t = new Time(H,M,S);
t.prit();
}
}
class Time
{
int h,m,s;
Time(int H, int M, int S)
{
h = H;
m = M;
s = S;
}
void setH()
{
if(h > 12 || h < 0) h = 12;
}
void setM()
{
if(m > 60 || m < 0) m = 0;
}
void setS()
{
if(s > 60 || s < 0) s = 0;
}
void prit()
{
setH();setM();setS();
System.out.printf("%02d:%02d:%02d\n", h,m,s);
}
}
Java面向对象3(K~O)的更多相关文章
- java 面向对象 2
一.JAVA类的定义 JAVA里面有class关键字定义一个类,后面加上自定义的类名即可.如这里定义的person类,使用class person定义了一个person类,然后在person这个类的类 ...
- Java面向对象 集合(下)
Java面向对象 集合(下) 知识概要: (1)Map集合的体系结构 (2)Map集合的方法 (3)HashMap TreeMap (4)集合框架中的常用工具类 ( ...
- 3. Java面向对象之泛型-指定多个泛型
3. Java面向对象之泛型-指定多个泛型 package generic; class MutiGeneric<K, T> { private K key; private T take ...
- java面向对象的核心思想
java面向对象的特征之一:封装 1.封装性的使用 package edu.tongji.classdemo; /* 封装性 1.封装的目的:保护某些属性和方法不被外部所见 2.封装的实现 为属性和方 ...
- JavaSE学习总结(四)——Java面向对象十分钟入门
面向对象编程(Object Oriented Programming,OOP)是一种计算机模拟人类的自然思维方式的编程架构技术,解决了传统结构化开发方法中客观世界描述工具与软件结构的不一致性问题.Ja ...
- 20165230 《Java程序设计》实验二(Java面向对象程序设计)实验报告
20165230 <Java程序设计>实验二(Java面向对象程序设计)实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:田坤烨 学号:20165230 成绩: ...
- 20155218 《Java程序设计》实验三(Java面向对象程序设计)实验报告
20155218 <Java程序设计>实验三(Java面向对象程序设计)实验报告 一.实验内容及步骤 (一)编码标准 在IDEA中使用工具(Code->Reformate Code) ...
- JAVA面向对象
JAVA面向对象 对象 我们生活中能看到能摸到的一切事物都是对象.在程序中模拟出生活中的所有东西万物皆对象 只要是对象--属性和行为(方法) 属性 对象有什么 例如:学生有姓名.学 ...
- 理解JAVA - 面向对象(object) - 属性,方法
理解JAVA - 面向对象(object) - 属性,方法 多态的体现: 向上造型,父类接收子类对象:向上造型: 从父类角度看不到子类独有的方法:面向对象,人类认知世界的方式:生活中每天都 ...
- Java面向对象㈠ -- 封装
Java的面向对象有三大特征:封装.继承.多态.这里主要对封装进行讲解. 封装可以理解为隐藏一个类的成员变量和成员函数,只对外提供需要提供的成员函数. Java的封装主要通过访问权限控制符:priva ...
随机推荐
- BZOJ4556 HEOI2016/TJOI2016字符串 (后缀树+主席树)
二分答案后相当于判断一个区间的后缀与某个后缀的最长公共前缀是否能>=ans.建出后缀树,在上述问题中后者所在节点向上倍增的跳至len>=ans的最高点,然后相当于查询子树中是否有该区间的节 ...
- (五)CXF之添加拦截器
一.需求分析 webService中的拦截器类似于servlet的Filter过滤器.一般用于调用服务前后先调用拦截器的方法. 二.案例 本章案例是基于上一章节的基础上添加拦截器的 2.1 服务端添加 ...
- 关于微信小程序发布新版本后的提示用户更新的方法详解
当小程序发布新的版本后 ,用户如果之前访问过该小程序,通过已打开的小程序进入(未手动删除),则会检测新版本,提醒用户更新新的版本 话不多说,上代码 App({ onLaunch: function ( ...
- 微信小程序 上传图片并等比列压缩到指定大小
微信小程序官方API中 wx.chooseImage() 是可以进行图片压缩的,可惜的是不能压缩到指定大小. 实际开发中需求可能是压缩到指定大小: 原生js可以使用canvas来压缩,但由于微信小程 ...
- linux shell数值比较和字符串比较
说明: 1. 把字符串当成整型进行比较,由于abcd等字符对不上0123当程序尝试去转成二进制时无法完成转换,所以用于数值比较的运算不能用于字符串比较:但是把整型当成字符串进行比较,0123这些数值完 ...
- iOS热更新实现方式
heart.jpg 苹果静止热更新,可惜我的是企业app,没有这些约束了,随便用.(当然有些热更新已经可以通过苹果审核了,比如JSPatch)官网说的: JSPatch 平台 SDK 1.7.2 以上 ...
- 如何用SAP WebIDE的Fiori创建向导基于ABAP OData service快速创建UI5应用
如果我们手上已经有可以正常工作的OData服务,无论位于ABAP on-premise系统还是public上的internet OData service,都可以用SAP WebIDE里的Fiori创 ...
- mysql count distinct 统计结果去重
1.使用distinct去重(适合查询整张表的总数)有多个学校+教师投稿,需要统计出作者的总数select count(author) as total from files每个作者都投稿很多,这里有 ...
- bash功能——命令行编辑、内部命令 外部命令、命令补全 、命令历史、文件名通配符、命令别名
命令行编辑: Ctrl + a : 跳转到当前编辑行首 Ctrl + e:跳转到当前编辑行尾 # mkdir /home/dira /home/diab 像这种命令,/home/dira 和 /hom ...
- Python(phone)模块获取手机号归属地、区号、运营商等
Python(phone)模块获取手机号归属地.区号.运营商等 一.我使用的是python3,可以自行搜索下载 二.安装phone模块, pip install phone 三.测试代码如下: fro ...