Java基础

来源:互联网 发布:最强淘宝系统笔趣阁 编辑:程序博客网 时间:2024/06/09 16:52

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调用方法读取用户从键盘输入的数据,并赋值给ab=a*a;c=a*a*a;System.out.println(b);// 输出bSystem.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的最高位(万位)d5d4=number/1000%10;           // 计算number的千位d4d3=number/100%10;   // 计算number的百位d3d2=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);elseSystem.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);elseSystem.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);elseSystem.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);elseSystem.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);    }}


0 0
原创粉丝点击