Java面向对象5(V~Z)
计算各种图形的周长(接口与多态)(SDUT 3338)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()){
String str = in.nextLine();
String[] strs = str.split(" ");
double []a = new double [100];
int i;
for(i = 0; i < strs.length; i++)
a[i] = Integer.parseInt(strs[i]);
double x,y,z;
if(i == 1){
x = a[0];
if(x <= 0)
System.out.println("0.00");
else{
Circle c = new Circle(x);
System.out.printf("%.2f\n",c.length());
}
}
else if(i == 2){
x = a[0];
y = a[1];
if(x <= 0)
System.out.println("0.00");
else{
Rectangle r = new Rectangle(x,y);
System.out.printf("%.2f\n",r.length());
}
}
else if(i == 3){
for(i = 0; i < 3; i++){
for(int j = 0; j < i; j++){
if(a[j] > a[j+1]){
double t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
x = a[0];
y = a[1];
z = a[2];
if(x + y > z ){
if(x <= 0)
System.out.println("0.00");
else{
Triangle T = new Triangle(x,y,z) ;
System.out.printf("%.2f\n",T.length());
}
}
else
System.out.println("0.00");
}
}
in.close();
}
}
interface Shape{
//public void shape();
double length();
}
class Triangle implements Shape{
double x1,y1,z1;
Triangle(double x1, double y1 , double z1){
this.x1 = x1;
this.y1 = y1;
this.z1 = z1;
}
public double length(){
return x1 + y1 + z1;
}
}
class Rectangle implements Shape{
double x,y;
Rectangle(double x, double y){
this.x = x;
this.y = y;
}
public double length(){
return (x + y) * 2;
}
}
class Circle implements Shape{
double z;
Circle(double z){
this.z = z;
}
public double length(){
return 2 * 3.14 * z;
}
}
计算长方形的周长和面积(类和对象)(SDUT 3339)
import java.util.*;
class Rect{
public int n;
public int m;
Rect(int n){
System.out.println(n+" "+n+" "+4*n+" "+n*n);
}
Rect(int n, int m){
System.out.println(n+" "+m+" "+(2*n+2*m)+" "+m*n);
}
}
public class Main{
public static void main(String args[]){
Scanner scanner = new Scanner(System.in);
while ( scanner.hasNext() ){
String h = scanner.nextLine();
char[] a = h.toCharArray();
int temp = 0;
int i;
for ( i = 0;i < a.length; i++ ){
if ( a[i] == ' ' )
temp = 1;
}
if ( temp == 0 ){
int b = Integer.parseInt(h);
if ( b <= 0 )
System.out.println("0 0 0 0");
else{
Rect h1 = new Rect(b);}
}
else {
String[] h3 = h.split(" ");
int e = Integer.parseInt(h3[0]);
int r = Integer.parseInt(h3[1]);
if ( e <= 0||r <= 0 )
System.out.println("0 0 0 0");
else{
Rect h1 = new Rect(e,r);}
}
}
}
}
X 答答租车系统(面向对象综合练习)(SDUT 3349)
import java.util.*;
class Car
{
int name, money, passenger;
double weight;
public Car(int name, int money, double weight, int passenger)
{
this.name = name;
this.money = money;
this.passenger = passenger;
this.weight = weight;
}
}
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
Car [] c =
{
new Car(0, 5, 0, 800),
new Car(1, 5, 0, 400),
new Car(2, 5, 0, 800),
new Car(3, 51, 0, 1300),
new Car(4, 55, 0, 1500),
new Car(5, 5, 0.45, 500),
new Car(6, 5, 2, 450),
new Car(7, 0, 3, 200),
new Car(8, 0, 25, 1500),
new Car(9, 0, 35, 2000)
};
int peoplesum = 0;
int moneysum = 0;
double weightsum = 0;
int order = sc.nextInt();
if(order == 1)
{
int num = sc.nextInt();
for(int i = 0; i < num; i++)
{
int j = sc.nextInt() - 1;
int day = sc.nextInt();
moneysum += c[j].money * day;
peoplesum += c[j].passenger * day;
weightsum += c[j].weight * day;
}
System.out.println(moneysum + " " + String.format("%.2f", weightsum) + " " + peoplesum);
}
else
{
System.out.println(moneysum + " " + String.format("%.2f", weightsum) + " " + peoplesum);
}
sc.close();
}
}
Y 分数四则运算 (SDUT 3849)
import java.util.Scanner;
import java.text.DecimalFormat;
class Sum {
int x1, y1, x2, y2;
char str;
Sum(int n1, int m1, int n2, int m2, char op) {
x1 = n1;
x2 = n2;
y1 = m1;
y2 = m2;
str = op;
}
int getGcd(int a, int b) {
int n = a, m = b;
while (m > 0) {
int x = n;
n = m;
m = x % m;
}
return n;
}
void getAns() {
int x = getGcd(y1, y2);
int a, b, c, d, ans1 = 0, ans2 = 0;
a = x1;
b = y1;
c = x2;
d = y2;
if (str == '+' || str == '-') {
int lcm = b * d / x;
a = a * d / x;
c = c * b / x;
if (str == '+') {
ans1 = a + c;
} else if (str == '-') {
ans1 = a - c;
}
ans2 = lcm;
if (ans1 < 0)
x = -ans1;
else
x = ans1;
x = getGcd(x, ans2);
if (ans1 % x == 0 && ans2 % x == 0) {
ans1 /= x;
ans2 /= x;
}
} else if (str == '*') {
a = a * c;
b = b * d;
ans1 = a;
ans2 = b;
int temp = getGcd(ans1, ans2);
if (ans1 % temp == 0 && ans2 % temp == 0) {
ans1 /= temp;
ans2 /= temp;
}
} else if (str == '\\') {
int temp = c;
c = d;
d = temp;
a = a * c;
b = b * d;
ans1 = a;
ans2 = b;
int te = getGcd(ans1, ans2);
if (ans1 % te == 0 && ans2 % te == 0) {
ans1 /= te;
ans2 /= te;
}
}
if (ans1 == 0 && ans1 != ans2 || ans2 == 1)
System.out.println(ans1);
else if (ans1 == ans2)
System.out.println(1);
else
System.out.println(ans1 + "/" + ans2);
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// DecimalFormat df = new DecimalFormat(".00");
Sum p;
String s;
char op = 0;
while (sc.hasNext()) {
s = sc.next();
int temp = 0;
int xx[] = new int[5];
int top = 0;
int x1, x2, y1, y2;
int len = s.length();
for (int i = 0; i < len; i++) {
if (s.charAt(i) >= '0' && s.charAt(i) <= '9') {
xx[top] = xx[top] * 10 + (s.charAt(i) - '0');
} else {
top++;
if (s.charAt(i) == '+' || s.charAt(i) == '-' || s.charAt(i) == '*' || s.charAt(i) == '\\')
op = s.charAt(i);
}
}
x1 = xx[0];
y1 = xx[1];
x2 = xx[2];
y2 = xx[3];
// System.out.println(x1 + " " + y1 + " " + x2 + " " + y2 + " " + op);
p = new Sum(x1, y1, x2, y2, op);
p.getAns();
}
}
}
Z Shift Dot (SDUT 3848)
import java.util.*;
class Dot {
int x, y;
Dot() {
}
Dot(int n, int m) {
x = n;
y = m;
}
void getAns(int a, int b) {
x += a;
y += b;
}
void Print() {
System.out.println("(" + x + "," + y + ")");
}
}
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int x, y, n, a, b;
while (sc.hasNext()) {
x = sc.nextInt();
y = sc.nextInt();
n = sc.nextInt();
Dot p = new Dot(x, y);
for (int i = 0; i < n; i++) {
a = sc.nextInt();
b = sc.nextInt();
p.getAns(a, b);
}
p.Print();
}
}
}
Java面向对象5(V~Z)的更多相关文章
- Java.lang.NoSuchMethodError: 后带 V/Z等字母的
知道 Java.lang.NoSuchMethodError: 后带 V/Z等字母的 错误,一般都是 jar包冲突引起的,找到冲突的jar包,去掉一个就好
- java 面向对象 2
一.JAVA类的定义 JAVA里面有class关键字定义一个类,后面加上自定义的类名即可.如这里定义的person类,使用class person定义了一个person类,然后在person这个类的类 ...
- Java面向对象 IO (四)
Java面向对象 IO (四) 知识概要: (1)打印流 (2)序列流 SequenceInputStream (3)ObjectInputStream与Ob ...
- Java面向对象 其他对象
Java面向对象 其他对象 知识概要: (1)可变参数 (2)静态导入 (3)System (4)Runtime (5)Date Calendar (6)Math 本 ...
- Java面向对象 集合(下)
Java面向对象 集合(下) 知识概要: (1)Map集合的体系结构 (2)Map集合的方法 (3)HashMap TreeMap (4)集合框架中的常用工具类 ( ...
- Java面向对象 集合(上)
Java面向对象 集合(上) 知识概要: (1)体系概述 (2)共性方法 (3)迭代器 (4)list集合 (5)Set 集合 体系概述: 集 ...
- Java面向对象 继承(上)
Java面向对象 继承 知识概要: (1)继承的概述 (2)继承的特点 (3)super关键字 (4)函数覆盖 (5) 子类的实例化过程 (6) final关键字 (1)继承 ...
- Java面向对象----个人参考资料
Java面向对象 :什么是面向对象.类与对象.封装.构造方法.static关键字.继承.抽象类.接口.多态 一.什么是面向对象 1.面向过程思想 面向过程:(PO,Procedure Oriented ...
- 2017-2018-2 20165318 实验三《Java面向对象程序设计》实验报告
2017-2018-2 20165318 实验三<Java面向对象程序设计>实验报告 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:孙晓暄 ...
- 20145122《Java面向对象程序设计》实验二实验报告
实验名称: Java面向对象程序设计 实验内容: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 PSP时间 步骤 ...
随机推荐
- Django-报错信息及admin后台汉化
django-admin 汉化 效果对比 django admin 后台 报错信息 配置 修改配置文件中的 LANGUAGE_CODE 与 TIME_ZONE 即可. 将 django admin 后 ...
- extra bytes at beginning or within zipfile
主要用文本文档打开看看是否带有#!/bin/bash 修改pom文件<executable>false</executable>
- Tomcat的架构
Tomcat 7.0---Servlet API 3.0---JSP API 2.2---JDK 1.6 一个Tomcat实例,或者服务器(server),是Tomcat容器层次结构中的顶级组件. 只 ...
- Arcgis js之web墨卡托(3857)转经纬度坐标(4326)
Arcgis js之web墨卡托(3857)转经纬度坐标(4326) 手动转化方法: function mercatorTolonlat(mercator){ var lonlat={x:0,y:0} ...
- SpringBoot整合Mybatis问题
IDEA对xml文件处理的方式不同 在Eclipse中到dao文件与mapper.xml文件只要在同一级目录下即可 在IDEA中mapper.xml要放在resources目录下 注:resource ...
- docker第二篇 Docker基础用法
Docker中的容器 lxc -> libcontainer -> runC OCI (Open Container Initiative) 由Linux基金会主导于2015年6月创立 作 ...
- python命令行获取参数
python命令行获取参数 import sys # python获取参数 input_file = sys.argv[1] output_file = sys.argv[2] print(input ...
- RobHess的SIFT代码解析之kd树
平台:win10 x64 +VS 2015专业版 +opencv-2.4.11 + gtk_-bundle_2.24.10_win32 主要参考:1.代码:RobHess的SIFT源码:SIFT+KD ...
- 修改input file 文件上传的样式
Web页面中,在需要上传文件时基本都会用到<input type="file">元素,它的默认样式: chrome下: IE下: 不管是上面哪种,样式都比较简单,和很多 ...
- 打开myeclipse提示An internal error occurred during: "CheckLicensesAndNotify". com/genuitec/pulse2/client/targetcfg/ui/PulseActivator
打开myeclipse提示An internal error occurred during: "CheckLicensesAndNotify". com/genuitec/pul ...