㈠ java面向对象程序设计一道作业题 程序设计求解答 希望用简单的方法谢谢
自定义类MyNumber:
importjava.util.ArrayList;
importjava.util.List;
publicclassMyNumber{
publicint[]delZero(int[]arr){
int[]newArr=newint[arr.length];
for(inti=0;i<arr.length;i++){
//删除所有含0的元素(0,10,20......)
//if(arr[i]==0&&arr[i]%10==0){
//删除所有为0的元素
if(arr[i]==0){
arr=delAnyPosition(arr,i);
}
}
returnarr;
}
publicstaticint[]delAnyPosition(int[]arr,intposition){
//判断是否合法
if(position>=arr.length||position<0){
returnnull;
}
int[]res=newint[arr.length-1];
for(inti=0;i<res.length;i++){
if(i<position){
res[i]=arr[i];
}else{
res[i]=arr[i+1];
}
}
returnres;
}
}
㈡ 7-1 jmu-Java-03面向对象基础-04-形状-继承(15 分)
自己写的,也才学不容易还望采纳
import java.util.*;
abstract class Shape{
final static double PI=3.14;
public abstract double getPerimeter();
public abstract double getArea();
public static double sumAllArea(Shape []shapes) {
double x=0;
for(Shape e:shapes) {
x+=e.getArea();
}
return x;
}
public static double sumAllPerimeter(Shape []shapes) {
double y=0;
for(Shape e:shapes) {
y+=e.getPerimeter();
}
return y;
}
}
class Rectangle extends Shape{
private int width;
private int length;
public double getPerimeter() {
return 2*(width+length);
}
public double getArea() {
return width*length;
}
public Rectangle(int width,int length) {
this.width=width;
this.length=length;
}
@Override
public String toString() {
return "Rectangle [width=" + width + ", length=" + length + "]";
}
}
class Circle extends Shape{
private int radius;
public double getPerimeter() {
// TODO Auto-generated method stub
return 2*PI*radius;
}
public double getArea() {
// TODO Auto-generated method stub
return PI*radius*radius;
}
public Circle(int radius) {
this.radius=radius;
}
@Override
public String toString() {
return "Circle [radius=" + radius + "]";
}
}
public class Main{
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n;
n=in.nextInt();
Shape shapes[]=new Shape[n];
for(int i=0;i<n;i++) {
String s=in.next();
switch(s) {
case "rect":
int width,length;
width=in.nextInt();
length=in.nextInt();
shapes[i]=new Rectangle(width, length);
break;
case "cir":
int radius;
radius=in.nextInt();
shapes[i]=new Circle(radius);
break;
}
}
System.out.println(Shape.sumAllPerimeter(shapes));
System.out.println(Shape.sumAllArea(shapes));
System.out.println(Arrays.toString(shapes));
for(int i=0;i<n;i++) {
System.out.println(shapes[i].getClass()+","+shapes[i].getClass().getSuperclass());
}
}
}
㈢ 有一道 java面向对象编程题 求大家帮我写一下 面向对象基础 看到迷茫
package employee;
public class Employee {
//员工私有属性
private String name; //员工姓名
private int age; //员工年龄
private String position; //员工职位
private int salary; //工资
/**
* 给所有的属性指定初始值
* @param name
* @param age
* @param position
* @param salary
*/
public Employee(String name,int age,String position,int salary){
this.name = name;
this.age =age;
this.position = position;
this.salary = salary;
}
/**
* 给name属性赋值
* @param name
*/
public void setName(String name){
this.name = name;
}
public String getName() {
return name;
}
/**
* 给age属性赋值
* @param age
*/
public void setAge(int age){
if(age<18){
this.age=18;
System.out.println("当年龄无效时,默认为18");
}else{
this.age =age;
}
}
public int getAge() {
return age;
}
/**
* 给position属性赋值
* @param position
*/
public void setPosition(String position){
if(position.equals("售后服务") || position.equals("销售员") ){
this.position = position;
}else{
this.position = "售后服务";
System.out.println("输入不符合要求,默认为售后服务");
}
}
public String getPosition() {
return position;
}
/**
* 给员工工资赋值
* @param salary
*/
public void setSalary(){
if(age>=18 && age<=20){
this.salary = 1000;
}else if(age>=21 && age<=25){
this.salary = 1500;
}else if(age>=26 && age<=30){
this.salary = 2000;
}else if(age>=31 && age<=40){
this.salary = 3000;
}else if(age>=41 && age<=50){
this.salary = 3500;
}else if(age>=51){
this.salary = 4000;
}else{
System.out.println("没有设置年龄或者年龄无效");
}
}
public int getSalary() {
return salary;
}
}
测试类
package employee;
import java.util.Scanner;
public class TestEmployee {
public static void main(String[] args){
Employee emp1 = new Employee(null, 0, null, 0) ;
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个员工姓名");
//获取输入的名字
String name1 = sc.next();
emp1.setName(name1);
System.out.println("请输入第一个员工年龄");
//获取输入的年龄
int age1 = sc.nextInt();
emp1.setAge(age1);
System.out.println("请输入第一个员工职位");
//获取输入的职位
String position1 = sc.next();
emp1.setPosition(position1);
emp1.setSalary();
System.out.println("---------------------------------");
System.out.println("员工1姓名为:"+emp1.getName());
System.out.println("年龄:"+emp1.getAge());
System.out.println("工作为:"+emp1.getPosition());
System.out.println("工资为:"+emp1.getSalary());
}
}
第一次回答问题,玩玩而已但是还是希望采纳
㈣ java面向对象基础题目(字符串)
选B,change函数的入口参数为str则只修改传入参数,若在函数体内使用“this.str=str”则发生互换,第二个直接修改了引用值,导致发生改变。
㈤ java面向对象选择题
C
A 没有返回值
B 不能接受同类型的参数返回不同的类型
D 返回值和类型不匹配
㈥ JAVA编程题:计算整型数之和(面向对象)
public class Calculator {
public double add(double num1, double num2){
return num1 + num2;
}
public double minus(double num1, double num2){
return num1 - num2;
}
public double multiple(double num1, double num2){
return num1 * num2;
}
public double divide(double num1, double num2){
if(num2 != 0){
return num1/num2;
}
return -1;//除数为0,错误
}
}
㈦ java面向对象的问题
类,用于描述多个对象的共同特征,它是对象的模板。
对象,用于描述现实中的个体,它是类的实例。
java面向对象的问题Cat c = new Cat();
new Cat()代表对象,而c代表这个对象的引用,那么为什么有人说c是这个对象的实例呢?
你基本概念理解不透彻呀。
类,用于描述多个对象的共同特征,它是对象的模板。
对象,用于描述现实中的个体,它是类的实例。
对面向对象有了了解之后,我们来说说在具体问题中如何使用面向对象去分析问题,和如何使用面向对象。
我们把大象装冰箱为例进行分析。
在针对具体的需求,可以使用名词提炼的办法进行分析,寻找具体的对象。
需求:把大象装冰箱里
对象:大象、冰箱
分三步:
1、打开冰箱门
2、将大象装进去
3、关闭冰箱门
分析发现打开、装、关闭都是冰箱的功能。即冰箱对象具备如下功能:
冰箱打开
冰箱存储
冰箱关闭
用伪代码描述,上述需求中有两个具体的事物 大象 和 冰箱
描述大象:
class 大象
{
}
描述冰箱
class冰箱
{
void 打开(){}
void 存储(大象){}
void 关闭(){}
}
当把具体的事物描述清楚之后,需要使用这些具体的事物,Java使用具体的事物,需要通过new关键字来创建这个事物的具体实例。
所以当你创建Cat对象的时候,既可以说c是Cat对象的引用也可以说是Cat对象的实例。
l汽车类
publicclassCar {
String color;
intnumber;
voidrun() {
System.out.println(color+ ":"+ number);
}
}
通过代码的描述,知道类的真正意义就是在描述事物。属性和功能统称为事物中的成员。
事物的成员分为两种:成员属性和成员功能。
成员属性在代码中的体现就是成员变量
成员功能在代码中的体现就是成员方法
把写好的代码测试一下。需要一个可以独立运行类。
创建对象的格式:
类名 对象名 = new 类名();
测试类
publicclassCarDemo {
publicstaticvoidmain(String[] args) {
/*
* 测试:Car类中的run方法。
*/
// 1,创建Car的对象。给对象起个名字。
Car c = newCar();// c是类类型的变量。c指向了一个具体的Car类型的对象。
// 2,通过已有的对象调用该对象的功能。格式:对象.对象成员;
// 3,可以该对象的属性赋值。
c.color= "red";
c.number= 4;
c.run();
}
}
如果你还不懂,你可以私信我。
㈧ Java面向对象程序设计考试题目 类的定义 继承 创建对象 构造方法
public class Geometry {
public Geometry(int w, int h) {
width = w;
height = h;
}
public int area() {
return width * height;
}
private int width, height;
}
public class Cube extends Geometry {
public Cube(int w, int h) {
super(w, h);
}
public Cube(int a, int b, int c) {
super(a, b);
height = c;
}
public void setHeight(int h) {
height = h;
}
public int volumn() {
return area() * height;
}
private int height;
}
public class User {
public static void main(String []args) {
Cube cube1 = new Cube(1,2,3);
Cube cube2 = new Cube(4, 5);
cube2.setHeight((int) (Math.random() * 10) + 1);//avoid zero height
System.out.println("Cube 1 area: " + cube1.area() + " volumn: " + cube1.volumn());
System.out.println("Cube 2 area: " + cube2.area() + " volumn: " + cube2.volumn());
}
}
㈨ JAVA面向对象题。
这个是我刚刚写的,可以直接运行的。应该能够满足你的需求吧。
public class Circle {
private float r;
private final static double PI = Math.PI;
Circle()
{
this.r = 1;
}
Circle(float radius)
{
this.r = radius;
}
private double getPerimeter()
{
return PI*2*r;
}
private double getArea()
{
return PI*r*r;
}
private double getRadius()
{
return r;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Circle myCircle = new Circle(3);
System.out.println("Radius is "+myCircle.getRadius()+" Perimeter is "+myCircle.getPerimeter()+" Area is "+myCircle.getArea());
}
}
㈩ java面向对象程序设计练习题 求解答
Java面向对象程序设计复习题
一、选择题
1、下列哪个是Java中的关键字( C )。
A、run B、Integer C、default D、implement 2、下面关于Java.applet.Applet和其祖先类的描述语句哪个不对( B )。 A、Applet是Container的一种 B、Applet是Window的一种 C、Applet是Component的一种 D、Applet是Panel的一种 3、下列类 DataOutputStream的构造方法正确的是( A )。
A、new dataOutputStream(new FileOutputStream(“out.txt”)); B、new dataOutputStream(“out.txt”);
C、new dataOutputStream(new writer(“out.txt”)); D、new dataOutputStream(new FileWriter(“out.txt”)); 4、在switch(表达式)语句中,表达式的类型不能为( C )。 A、byte B、char C、long D、int 5、在接口MouseMotionListener中方法正确的是( A )。 A、Public void mouseDragged(MouseEvent) B、Public boolean mouseDragged(MouseEvent) C、Public void mouseDragged(MouseMotionEvent) D、Public boolean MouseDragged(MouseMotionEvent) 6、下面是一些异常类的层次关系 Java.lang.Exception
Java.lang.RuntimeException
Java.lang.IndexOutOfBoundsException
Java.lang. Java.lang.
假设有一个方法X,能够抛出两个异常,Array Index和String Index异常,假定方法X中没有try-catch语句,下面哪个答案是正确的。( B )
A、方法X应该声明抛弃和StringIndexOutOfBounds Exception。
B、如果调用X的方法捕获IndexOutOfBoundsException,则ArrayIndexOutOfBounds Exception和都可以被捕获。 C、如果方法X声明抛弃IndexOutOfBoundsException,则调用X的方法必须用Try-catch语句
捕获。
D、方法X不能声明抛弃异常。
7、现有一变量声明为boolean aa;下面赋值语句中正确的是( D )。 A、aa=0 B、aa=True C、aa="true" D、aa=false
8、某类Example的main()方法参数为args,当输入数据Java Example cat时,args[0]的值为( A )。
A、cat B、Java C、example D、null
9、String s1=new String(“Java”);String s2=new String(s1)则下列哪个说法是正确的( C )。 A、表达式s1==s2为真
B、s1和s2是同一个对象
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
C、表达式s1.equals(s2)为真 D、以上均不对 10、类定义如下 class Foo{
public static void main(String args[]){ String s;
System.out.println("s="+s); } }
则下列结论正确的是( C )。
A、有输出结果,且为空 B、没有输出结果
C、编译错误 D、有输出结果,且不为空
11、下列哪个不是Java的保留字( D )。
A、float B、class C、extends D、virtual 12、下列符号中不能作为Java标识符的是( D )。
A、abc B、$str1 C、_pore D、45six 13、方法methodA定义如下:
returnType methodA(byte x,double y){ return (short)x/y*2; }
则返回值returnType为( C )。
A、byte B、double C、short D、int 14、如果float f=4.2F;Float g=new Float(4.2F); Double d=new Double(4.2);则下列选项正确的是( B )。
A、f==g B、f==g.floatValue() C、d==f D、d.equals(f) 15、下列二维数组定义中错误的是( A )。 A、int a[][]=new int[][]; B、int []a[]=new int[10][10]; C、int a[][]=new int[10][10]; D、int [][]a=new int[10][10];
16、关于下列语句哪个答案是正确的( D )。 System.out.println(4|7);
A、4 B、5 C、6 D、7
17、下面哪一个AWT组件可以有菜单栏MenuBar( A )。 A、Java.awt.Frame B、Java.awt.Window C、Java.awt.Applet D、Java.awt.Panel
18、下列哪个方法用于创建并开始一个新的线程( B )。 A、run(); B、start();
C、execute(); D、run(Runnable r);
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
19、如果有Boolean a=new Boolean(“yes”),则a.booleanValue()值为( D )。 A、yes B、“yes” C、true D、false 20、以下类 DataOutputStream的构造方法正确的是( C )。 A、new dataInputStream(“in.txt”);
B、new dataInputStream(new file(“in.txt”));
C、new dataInputStream(new FileInputStream(“in.txt”));
D、new dataInputStream(new FileWriter(“in.txt”));
21、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A、.Java B、.class C、.html D、.exe
22、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。 A、3 B、3.5 C、4 D、5
23、在Applet表面输出文字时,可以选择不同的颜色,但是忘记了设置颜色的方法,应该首先在哪个类里面寻找( D )。 A、Java .awt.Applet B、Java.awt.Panel C、Java.applet.Applet D、Java.awt.Component 24、类Cycle的main()方法为:
public static void main(String args[]){ System.out.println(args[0]); }
则运行时如果命令行语句为Java Cycle one two three,则输出结果为( B )。 A、Cycle B、one C、two D、three 25、下面哪一个是Thread类中的静态方法( D )。
A、start() B、stop() C、run() D、sleep(long m) 26、关于下列语句哪个答案是正确的( A )。 if(5&7&&5|2)System.out.println(“true”);
A、不能编译成功 B、可以编译成功,输出true C、可以编译成功,但无输出 D、以上均不对 27、声明公用的abstract方法的正确格式是( C )。 A、public abstract void add() {} B、public abstract add();
C、public abstract void add(); D、public virtual add();
28、下列程序结果正确的是( B )。 public class Test {
public static void main (String args []) { Ad a1=new Ad();
System.out.println(a1.add(1)); Ad a2=new Ad();
System.out.println(a2.add(2)); } }
附上出处链接:http://wenku..com/link?url=m6mQf1x9q9-sjj17tqEy95VAcc48dBTwB_1I_