Java基础

1、输出俄文字母表。

public class Russian {
	public static void main (String args[]) {
    	 int startPosition=0,endPosition=0;
    	 char cStart='а',cEnd='я';
    	 startPosition=(int) cStart;  // cStart做int类型转换运算,并将结果赋值给startPosition
    	 endPosition=(int) cEnd;      // cEnd做int类型转换运算,并将结果赋值给endPosition
    	 System.out.println("俄文字母共有:");
    	 System.out.println(endPosition-startPosition+1+"个");
    	 for(int i=startPosition;i<=endPosition;i++) {
    		 char c='\0';
    		 c=(char) i;         // i做char类型转换运算,并将结果赋值给c
    		 System.out.print(" "+c);
        }       
    }
}

2、数组的快速复制

定义一个一维数组,使用System.arraycopy() 方法,将其复制到另外一个数组中,并输出两个数组的内容。

import java.util.*;
public class Array {
	public static void main(String args[]) {
		int a[]={1,100,1000,10000};
		int b[];
		b=new int[4];
		System.arraycopy(a, 0, b, 0, a.length);
		System.out.println(Arrays.toString(a));
		System.out.println(Arrays.toString(b));
    }
} 

3、用户从键盘输入一个浮点数据,程序将输出这个数的平方和三次方。

import java.util.*;
public class InputFloat {
	public static void main(String args[]) {
		double a,b,c;
		Scanner reader=new Scanner(System.in);     
		System.out.println("从键盘输入一个浮点数");
		a=reader.nextDouble();   	// reader调用方法读取用户从键盘输入的数据,并赋值给a
		b=a*a;
		c=a*a*a;
		System.out.println(b);		// 输出b
		System.out.println(c); 		// 输出c 
    }
}

4、从键盘输入一个1-99999之间的整数,程序将判断这个数是几位数,并判断这个数是否是回文数。

import java.util.*;
public class Number {
	public static void main(String args[]) {
		int number=0,d5,d4,d3,d2,d1;
		Scanner reader=new Scanner(System.in);     
		System.out.println("从键盘输入一个1至99999之间的数");
		while(reader.hasNextInt()) {  
			number=reader.nextInt();
			if(number>=1 && number<=99999) {  	// 判断number在1至99999之间的条件
				d5=number/10000;   		// 计算number的最高位(万位)d5
				d4=number/1000%10;   	        // 计算number的千位d4
				d3=number/100%10;   		// 计算number的百位d3
				d2=number%100/10;
				d1=number%10;
				if(d5>0) { 			// 判断number是5位数的条件
					System.out.printf("\n%d是5位数", number);
					if (d5==d1&&d4==d2)  	// 判断number是回文数的条件
						System.out.printf("\t%d是回文数", number);
					else
						System.out.printf("\t%d不是回文数", number);
				}
				else if (d5==0&&d4>0){  	// 判断number是4位数的条件
					System.out.printf("\n%d是4位数",number);
					if (d4==d1&&d3==d2)  	// 判断number是回文数的条件
						System.out.printf("\t%d是回文数", number);
					else
						System.out.printf("\t%d不是回文数",number);
				}
				else if (d5==0&&d4==0&&d3>0){  	// 判断number是3位数的条件
					System.out.printf("\n%d是3位数", number);
					if (d3==d1)  	        // 判断number是回文数的条件
						System.out.printf("\t%d是回文数", number);
					else
						System.out.printf("\t%d不是回文数", number);
				}
				else if(d2!=0){
					System.out.printf("\n%d是2位数", number);
					if(d1==d2)
						System.out.printf("\t%d是回文数", number);
					else
						System.out.printf("\t%d不是回文数", number);
				}
				else if(d1!=0){
					System.out.printf("\n%d是1位数", number);
					System.out.printf("\t%d是回文数", number);
              }
          }
          else
              System.out.printf("\n%d不在1至99999之间", number);
          System.out.printf("%n可继续输入整数,或输入非整数结束程序%n");
       }
       System.out.println("你输出的数据不是整数");
    }
}

5、使用Arrays类的静态方法purbic void sort(doublea[],int start,int end)对数组进行排序, 然后使用折半法判断一个数是否在这个数组中。

import java.util.*;
public class ArraysSortAndBinarySearch {
    public static void main(String args[]) {
        int a[] = {12, 34, 9, 23, 45, 6, 45, 90, 123, 19, 34};
        Arrays.sort(a);
        System.out.println(Arrays.toString(a));
        int number = 19;
        int index = Arrays.binarySearch(a, number);
        if (index >= 0) {
            System.out.println(number + "和数组中索引为" + index + "的元素值相同");
        } else {
            System.out.println(number + "不与数组中任何元素值相同");
        }
    }
}

6、有理数的类封装:分数的四则运算。(按模板要求写的,有点冗杂)

public class Main {
    public static void main(String args[]) {
        Rational r1;
        r1 = new Rational(1, 5);
        Rational r2;
        r2 = new Rational(3, 2);
        Rational result = r1.add(r2);
        int a = result.getNumerator();
        int b = result.getDenominator();
        double p = a;
        double q = b;
        double doubleResult = p/q;
        System.out.print("分数" + r1.getNumerator() + "/" + r1.getDenominator());
        System.out.println("与分数" + r2.getNumerator() + "/" + r2.getDenominator() + "的和等于" + result.getNumerator() + "/" + result.getDenominator() + "\t小数形式为:" + doubleResult); 
        result = r1.sub(r2);
        a = result.getNumerator();
        b = result.getDenominator();
        p = a; q = b;
        doubleResult = p/q;
        System.out.println("\t\t 差等于" + result.getNumerator() + "/" + result.getDenominator() + "\t小数形式为:" + doubleResult); 
        result = r1.muti(r2);
        a = result.getNumerator();
        b = result.getDenominator();
        p = a; q = b;
        doubleResult = p/q;
        System.out.println("\t\t 积等于" + result.getNumerator() + "/" + result.getDenominator() + "\t小数形式为:" + doubleResult); 
        result = r1.div(r2);
        a = result.getNumerator();
        b = result.getDenominator();
        p = a; q = b;
        doubleResult = p/q;
        System.out.println("\t\t 商等于" + result.getNumerator() + "/" + result.getDenominator() + "\t小数形式为:" + doubleResult); 
    }
}

class Rational {
    int numerator,denominator;
    Rational(){
    }
    Rational(int a,int b){
        setNumeratorAndDenominator(a,b);
    }
    void setNumeratorAndDenominator(int a, int b){  //设置分子和分母
        int c = f(Math.abs(a), Math.abs(b));           //计算最大公约数
        numerator = a / c;
        denominator = b / c;
        if (numerator < 0 && denominator < 0) {
            numerator = -numerator;
            denominator = -denominator;
       }
    }
    int getNumerator() {
        return numerator;
    }
    int getDenominator() {
        return denominator;
    }  
    int f(int a, int b) {   //求a和b的最大公约数
        if (a < b) {
            int c = a;
            a = b;
            b = c; 
        }
        int r = a % b;
        while(r != 0) {
            a = b;
            b = r;
            r = a % b;
        } 
        return b;
    }
    Rational add(Rational r) {
        int a = r.getNumerator();
        int b = r.getDenominator();
        int newNumerator = numerator * b + denominator * a;
        int newDenominator = denominator * b;
        Rational result = new Rational(newNumerator, newDenominator);
        return result;
    }
    Rational sub(Rational r) {
        int a = r.getNumerator();
        int b = r.getDenominator();
        int newNumerator = numerator * b - denominator * a;
        int newDenominator = denominator*b;
        Rational result = new Rational(newNumerator,newDenominator);
        return result;
    }
    Rational muti(Rational r) {
        int a = r.getNumerator();
        int b = r.getDenominator();
        int newNumerator = numerator * a;
        int newDenominator = denominator * b;
        Rational result = new Rational(newNumerator, newDenominator);
        return result;
    }
    Rational div(Rational r) {
        int a = r.getNumerator();
        int b = r.getDenominator();
        int newNumerator = numerator * b;
        int newDenominator = denominator * a;
        Rational result = new Rational(newNumerator, newDenominator);
        return result;
    }
}

7、实例成员与类成员。

class A {
    float a;                // 声明一个实例float变量a
    static float b;         // 声明一个static的float变量b
    void setA(float a) {
      this.a = a;           // 将参数a的值赋值给成员变量a
    }
    void setB(float b){
      A.b = b;              // 将参数b的值赋值给成员变量b
    }
    float getA() {
       return a;
    }
    float getB() {
       return b;
    }
    void inputA() {
       System.out.println(a);
    }
    static void inputB(){
       System.out.println(b);
    }
}

public class Main {
    public static void main(String args[]) {
        A.b = 100;          // 通过类名操作类变量b,并赋值100
        A.inputB();         // 通过类名调用方法inputB( )
        A cat = new A();
        A dog = new A();
        cat.setA(200);      // cat调用方法setA(int a)将cat的成员a的值设置为200
        cat.setB(400);      // cat调用方法setB(int b)将cat的成员b的值设置为400
        dog.setA(200);      // dog调用方法setA(int a)将dog的成员a的值设置为200
        dog.setB(900);      // dog调用方法setB(int b)将dog的成员b的值设置为900
        cat.inputA();       // cat调用inputA() 
        A.inputB();         // cat调用inputB() 
        dog.inputA();       // dog调用inputA() 
        A.inputB();         // dog调用inputB() 
    }
}

8、 设计一个应用程序要求:

      设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x和y值的public方法。

      设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected,类型的成员变量r、获取和设置r值的public方法、计算圆面积的一public方法。

      设计一个表示圆柱体的类Cylinder,它继承自类Circle,还包含有表示圆柱体高的protected类型的成员变量h、获取和设置h值的public方法、计算圆柱体体积的public方法。

      建立若干个Cylinder对象,输出其轴心位置坐标、半径、高及其体积的值。

      要求:每个类包含无参数和有参数的构造方法。构造方法用于对成员变量初始化,无参数的构造方法将成员变量初始化为0值。子类的构造方法调用父类的构造方法,对父类 中的成员变量初始化。

import java.util.Scanner;
class Point {
    protected double x, y;
    public Point() {
    }
    public Point(double x, double y) {
        this.x = x;
        this.y = y;
    }
    public double getX() {
        return x;
    }
    public double getY() {
        return y;
    }
}

class Circle extends Point {
    protected double r;
    public Circle() {
    }
    public Circle(double x, double y, double r){
        super(x, y);
        this.r = r; 
    }
    public void setR(double r) {
        this.r = r;
    }
    public double getR() {
        return r;
    }
    public double getArea() {
        return Math.PI * r * r;
    }
}

class Cylinder extends Circle {
    protected double h;
    public Cylinder() {
        h = 0;
    }
    public Cylinder(double x, double y, double r, double h){
        super(x, y, r);
        this.h = h;
    } 
    public void setH(double h) {
        this.h = h;
    }
    public double getH() {
        return h;
    }
    public double getVolume() {
        return getArea() * h;
    }
}

public class Main {
    public static void main(String args[]) {
        Cylinder c = new Cylinder();
        System.out.println("圆柱的轴心坐标为:("+c.getX()+", "+c.getY()+")");
        System.out.println("圆半径为:"+c.getR()+" 圆面积为:"+c.getArea());
        System.out.println("圆柱的高为:"+c.getH()+" 体积为:"+c.getVolume());
        Scanner cin = new Scanner(System.in); 
        while (cin.hasNextInt()) {
            double n1 = cin.nextDouble();
            double n2 = cin.nextDouble();
            double n3 = cin.nextDouble();
            double n4 = cin.nextDouble();
            c = new Cylinder(n1, n2, n3, n4);
            System.out.println("圆柱的轴心坐标为:("+c.getX()+", "+c.getY()+")");
            System.out.println("圆半径为:"+c.getR()+" 圆面积为:"+c.getArea());
            System.out.println("圆柱的高为:"+c.getH()+" 体积为:"+c.getVolume());
        }
    }
}



9、设计一个应用程序要求:

      定义一个抽象类Printable,其中包括一个方法printItMyWay(),该方法是一个抽象方法,没有形参,返回值为空。

      改写矩形类使之继承Printable类,用printItMyWay()方法将矩形的相关信息打印在屏幕上,例如矩形的长为多少,矩形的宽为多少。

      注:矩形类包含矩形的长和宽。

      在Printable类中增加一个新的抽象方法printItMyWay(char),这方法有一个字符性参数,返回值为空。其功能是利用给出的字符打印在矩形行区域内

      在main方法中添加语句调用printItMyWay()和printItMyWay(char)。

public class Main {
   public static void main(String args[]) {
        Rectangle rec = new Rectangle(2, 3);
        rec.printItMyWay();
        rec.printItMyWay('A');
    }
}

abstract class Printable{
      abstract void printItMyWay(); 
      abstract void printItMyWay(char c);
}

class Rectangle extends Printable {
    int length = 2;
    int width = 3;
    Rectangle(int length,int width) {
          this.length = length;
          this.width = width;
    }
    void printItMyWay() {
        System.out.println("length:" + length + "\t" + "width:" + width);
    }
    void printItMyWay(char c) {
        for(int i = 0; i < length; i++) {
            for(int j = 0; j < width; j++)
                System.out.print(c);
            System.out.println();
        }
    }
}

10、接口的定义和使用方法。

interface ComputerWeight {
    public double computeWeight();
}

class Television implements ComputerWeight {    
    public double computeWeight() {     //实现computeWeight()方法。
        return 45.5;
    }
}

class Computer implements ComputerWeight {
    public double computeWeight() {     //实现computeWeight()方法。
        return 65.5;
    }
}

class WashMachine implements ComputerWeight {
    public double computeWeight() {     //实现computeWeight()方法。
        return 145;
    }
}

class Car {
    ComputerWeight[] goods;
    double totalWeights=0;
    Car(ComputerWeight[] goods) {
        this.goods = goods;
    }
    public double getTotalWeights() {
        totalWeights=0;
        for(int i = 0; i < goods.length; i++) {  //计算totalWeights
            totalWeights += goods[i].computeWeight();
        }
        return totalWeights;
    }    
}

public class Main {
    public static void main(String args[]) {
        ComputerWeight[] goodsOne = new ComputerWeight[50],
        goodsTwo = new ComputerWeight[22] ; 
        for(int i = 0; i < goodsOne.length; i++) {
            if(i % 3 == 0)
                goodsOne[i] = new Television();
            else if(i % 3 == 1)
                goodsOne[i] = new Computer();
            else if(i % 3 == 2)
                goodsOne[i] = new WashMachine();
        }
        for(int i = 0;i < goodsTwo.length; i++) {
            if(i % 3 == 0)
                goodsTwo[i] = new Television();
            else if(i % 3 == 1)
                goodsTwo[i] = new Computer();
            else if(i % 3 == 2)
                goodsTwo[i] = new WashMachine();
        } 
        Car 大货车 = new Car(goodsOne);
        System.out.println("大货车装载的货物重量:" + 大货车.getTotalWeights());
        Car 小货车 = new Car(goodsTwo);
        System.out.println("小货车装载的货物重量:" + 小货车.getTotalWeights());
    }
}

11、定义一个接口,包含一个计算体积的抽象方法calculateVolume(),,设计circle和Rectangle两个类都实现接口中的方法calculateVolume(),分别计算球体和长方体的体积。

public class Main {
   public static void main(String args[]) {
       Circle cir = new Circle(2);
       cir.CalculateVolume();
       Rectangle rec = new Rectangle(2, 3, 4);
       rec.CalculateVolume();
    }
}

interface Calculate {
    abstract void CalculateVolume();
}

class Circle implements Calculate{
    int r;
    Circle(int r) {
        this.r = r;
    }
    public void CalculateVolume() {
        System.out.println(4 / 3 * PI * r * r * r);
    }
}

class Rectangle implements Calculate {
    int length, width, height;
    Rectangle(int length, int width, int height){
        this.length = length;
        this.width = width;
        this.height = height;
    }
    public void CalculateVolume() {
        System.out.println(length * width * height);
    }
}


  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值