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); }}
- Java基础01:基础
- Java基础:基础加强
- Java基础-基础
- java基础的基础
- JAVA基础---基础常识
- Java基础:基础加强
- [Java 基础]基础语法
- Java基础
- java基础
- java 基础
- java基础
- Java基础
- Java基础
- Java基础
- JAVA基础
- JAVA基础
- JAVA基础
- java基础
- 最快线程间数据交换算法,有效避免锁竞争 -- TwoQueues
- mysql partition 分区功能详细介绍,以及实例
- mongoose源码分析系列一
- Android 开发技术汇总
- codeforces 420B Online Meeting
- Java基础
- QTP获取EXCEl数据
- 解决多线程代码中的 11 个常见的问题
- 【动态对话】单调递增最长子序列
- Perl & Python编写CGI
- 超宽带射频信号高速记录回放系统—全球顶级信号记录回放带宽6GB/S!
- Java 对JavaBean的简单内省操作
- 文件上传涉及的参数
- POJ 3278 Catch That Cow