两道JAVA题,谁来给我解释一下,稍微详细点的

两道JAVA的题目,谁帮忙解答下~

public interface Area {
public double CalsulateArea();
}
public class MyCircle implements Area {
int Radius;
private final double Y=3.1415926;
public MyCircle(int Radius){
this.Radius=Radius;
}

public double CalsulateArea() {
return 0.5*this.Radius*this.Radius*Y;
}

}
public class MyRectangle implements Area {
int length;
int wide;
public MyRectangle(int length,int wide){
this.length=length;
this.wide=wide;
}
public double CalsulateArea() {
return length*wide;
}

}
public class TestArea {
public static void main(String args[]){
MyCircle mc=new MyCircle(3);
MyRectangle mrt=new MyRectangle(2,5);
System.out.println("圆的面积为:"+mc.CalsulateArea());
System.out.println("长形的面积为:"+mrt.CalsulateArea());
}
}


import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
System.out.println("请输入需要输入的数字个数");

//根据输入的数字确定数组长度
int [] arr=new int[in.nextInt()];
//去回车
in.nextLine();
//录入数值
String temp=in.nextLine();
//去两边空格
temp=temp.trim();
//用空格分割成数组
String [] tempArr=temp.split(" ");
//判断接收的长度是否和输入的长度一致
if(tempArr.length==arr.length){
//讲String转换为int类型并且放入数组
for (int i=0;i<arr.length ;i++ )
{
try {
arr[i] = Integer.parseInt(tempArr[i]);
} catch (NumberFormatException e) {
e.printStackTrace();
}
}
//定义最大值
int max=arr[0];
//定义最小值
int min=arr[0];
//找最值
for (int i=0;i<arr.length ;i++ )
{
if(max<arr[i]){
max=arr[i];
}
if(min>arr[i]){
min=arr[i];
}
}
System.out.println("最大值为"+max+"最小值为"+min);
}else{
System.out.println("你输入的长度有误");
}

}
}

//格式你按图片自己排下吧,我没得办法

第一题肯定选B:
str是引用数据类型,而字符数组是基本数据类型,二者存放在内存中的机制是不一样的!
public void change(String str.char ch[])
{
str="test ok";
ch[0]='g';
}
传入str,虽然把"test ok"强行赋给str,但是这里的str存放在新的栈内存中,和原来的str存放的地址不一样,所以你System.out.print(ex.str+"and");这里的输出还是调用原来内存中的str;
字符数组不一样,你声明一个字符数组之后,那个数组的位置就定死了,你调用change()之后,把原来的字符数组的第1个元素改为了g.这就是引用数据类型和基本数据类型的区别.
第二题选A!
C肯定是错的! 属于lang包!
B也不对,线程实现有2种方式,第一,扩展java.lang.Thread类.第二,实现Runnable接口
从Thread类中继承的创建方式我还是可以实现Runnable接口,也就是说还是不能防止多父类的出现!!

你这一行public void change(String str.char ch[])
应该为public void change(String str, char ch[])
输出结果为goodandgbc
最接近的答案选B

Java的参数传递方式是值传递,当参数是简单类型时,不改变参数的值;当参数是引用类型时,不改变这个对象的引用。
change()的参数str和ch[]都是引用类型,在类Example中str指向"good"的地址,ch[]指向ch[]的地址,使用str="test ok"后在change()内str指向"test ok",但在类中str仍指向"good",而ch[0]仍指向ch[0],因为String与StringBuffer不同,改变它的值实际上是改变了它指向的内存地址(新开辟),但由函数返回时仍指向原地址。

有关java的问题,希望知道的人士解答,急用,谢谢!
答:2、这一题也是简单的main函数的程序的入口所以先执行main函数 main函数定义了String s="abcd";然后把s传到reverse方法中倒着输出一遍但是这并没有改变s的值 所以reverse方法执行完成之后还是abcd 所以结果是dcba abcd 3、至于第三题我觉得你的疑问应该是在 public static void display(){ byte n2=127;...

...+99的java题,为什么我一点都没有弄懂,谁能给我点拨一下,解释一下...
答:int i = 1,sum=0;//表示声明两个int型的变量,并分别赋值i为1,sum为0 while(i <= 100)//这是一个while循环,它终止的条件是i>100 sum = sum +i;//表示sum的值一直在累加,公式是自身的值+i的值。sum = 1+0,sum = 1+3,sum=4+5 ...i = i+2;//表示i每次都加2,因为i开...

java题,完全看不懂,给解释一下
答:i = 0时,k = ++i,执行完毕后,k = 1,i = 1,输出i = 1,k = 3,输出i = 1,k = 5,结束while循环;i = 2时,k = ++i,执行完毕后,k = 3,i = 3,输出i = 3,k = 5,结束while循环;i = 4时,k = ++i,执行完毕后,k = 5,i = 5,不执行while循环;i =...

求救:两道JAVA程序题的答案,不会啊!
答:仅仅在changestr()方法内,是个局部变量,当程序把main()方法的str 也就是"1234"作为实参传递到changestr()中时,此时changestr()中str指向"1234",而"welcome"赋值给str后str指向“welcome”,所以如果在changestr()中打印str的话,输出“1234”或“welcome”,取决与你选择打印的位置,因为str指向两...

谁能帮我一步步的解释这java的题目
答:radius=r; //用传进来的参数给半径设置 } public double area(){ double area;area=PI*radius*radius; //求该圆的面积 return area; //返回面积的值 } public static void main(String[] args){ Circle myCircle=new Circle(); //定义一个Circle对象 myCircle.setRadius(4.2); //给对象...

JAVA程序阅读题不懂,求大神解释下~~越详细越好
答:b是static变量,说白了就是类的所有对象公用1个b,而cat和dog都有自己的a A.b=100后,A.inputB()自然打印出100,而cat.b和dog.b也都是100了。所以,cat.b++后,公用的这个b为101,而cat.a没有初始化,为0.0,cat.a++后为1.0 所以cat.inputA()打印的是cat自己的a,为1.0,cat....

java题目。求解释~!
答:m是Triangle类的一个实例,Triangle有一个属性叫x,也就是说m有一个属性叫x,那要访问m的x属性,就是通过m.x的方式来访问,访问m的实例方法也是一样,通过m.方法名去调用。

这里有几道java题,求大神帮忙解答下好吗?非常感谢!
答:1、构造函数当你在需要实例化类的时候可以调用 2、自定义类不能被其他包中直接访问,可以通过设置这个类的访问范围,然后再在其他包中的类中定义出这个类 3、包导入使用这个不需要解释,很简单,就是你用到哪个类,就需要将那个导入的类所在的包路径导入 4、接口关键字:implements 5、抛出异常可以...

java实在学不明白,几个java问题请教大家
答:Java错误问题看不明白 请高手请教 晕啊~! 是用嵌入式JAVA写的看懂一点点了,界面部分报错~@!请问刷墙的几个问题,实在不明白,请专家解释 60平米,墙体面积应该120平米左右吧,涂料要多少够呢? 答:每1L混合涂料可以刷6平米两遍,那么就是20L,混合比例为10%兑水,实际使用就是18L. 我...

java题:代码2是的输出结果不明白,哪位大神解释下
答:这有什么不明白的,b=a,就是a、b都是指向{1,2,3,4}数组,之前的{100,200,300,400,500}已经不再被引用了,会被垃圾回收掉。

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网