zoukankan      html  css  js  c++  java
  • 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
    ",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
    ",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
    ",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();
    		}
    	}
    }
  • 相关阅读:
    sns矩阵
    家庭博客
    媒体治国
    论坛有
    模型指向同一地址,结构体指向不同地址
    苹果开发者公司账号添加个人开发者 加入不了开发者团队
    SourceTree下载 及使用
    关于swift语言中导入OC三方类找不到头文件的解决方法
    iPhone iPad 各种控件默认高度
    iOS 基于MVC设计模式的基类设计
  • 原文地址:https://www.cnblogs.com/lcchy/p/10139512.html
Copyright © 2011-2022 走看看