java编程语言谁会,下面题目帮解答一下,要详细步骤啊…………谢谢 急急急求……

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java编程语言谁会,下面题目帮解答一下,要详细步骤啊…………谢谢 急急急求……相关的知识,希望对你有一定的参考价值。

五、设计题(每题10分,满分30分。)
1、计算3、6、9的阶乘并输出结果。

2、编写一个应用程序,求Fibonacci数列的前十个数。(Fibonacci数列的定义为:F1=F2=1,当n>=3时,Fn=Fn-1+Fn-2)

3、从命令行中接收两个姓名字符串,按照“hello 姓名2 and 姓名1”的格式输出。若输入的是“<命令> Jerry Tom”则输出的是“hello Tom and Jerry”。

六、简答题(满分10分)
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

import java.util.Scanner;

/**
* 1、计算3、6、9的阶乘并输出结果。
*
*/
public class Factorial
public int getFact(int n)//阶乘的数
int m = 1;
for(int i = 1; i <= n; i++)//从1开始计算到n,也就是1*2*3...*n
m = m*i;

return m;


public static void main(String[] args)
Scanner sc = new Scanner(System.in);
System.out.println("请输入您要计算的阶乘数:");
int n = sc.nextInt();
System.out.println(new Factorial().getFact(n));




===================================
import java.util.Scanner;

/**
* 2、编写一个应用程序,求Fibonacci数列的前十个数。(Fibonacci数列的定义为:F1=F2=1,当n>=3时,Fn=Fn-1+Fn-2)
* 这个你可以再控制台输入前几个数,但是项数要少,否则运算慢
*/
public class Fei
public int func(int n)
if(n==1)
return 1;
else if(n>1) //如果n不为1,那么就继续调用该方法递归 1,1,2,3,5...
return func(n-1)+func(n-2);
else if(n<0)
System.out.println("输入数字不符合要求");
return -1;

return 0;

public static void main(String []args)
Fei f=new Fei();
Scanner input=new Scanner(System.in);
System.out.print("项数n最好在(0<n<40)之间,否则很慢:");
int num=input.nextInt();
System.out.println("第"+num+"项数为:"+f.func(num));


===========================================
import java.util.Scanner;

/**
* 从命令行中接收两个姓名字符串,按照“hello 姓名2 and 姓名1”的格式输出。
* 若输入的是“<命令> Jerry Tom”则输出的是“hello Tom and Jerry”。
*/
public class Print

public void getFormat(String format)
String formatArr[] = format.split(" "); //按空格将该字符串分成String数组
System.out.print("hello " + formatArr[0]);//打印第一个
for(int i = 1; i < formatArr.length; i++)//循环打印
System.out.print(" and " + formatArr[i]);



public static void main(String[] args)
Scanner sc = new Scanner(System.in);
System.out.println("请输入您要的姓名的个数:");
int num = sc.nextInt();
StringBuilder builder = new StringBuilder();//定义一个可变字符串对象
for(int i = 1; i <= num; i++)
System.out.println("请输入第"+i+"个人的姓名:");
String format = sc.next();
builder.append(format).append(" ");//每次接收一个字符串就拼上空格加进去


new Print().getFormat(builder.toString());//将可变字符串变为String类型


=========================================
六、简答题
JAVA中的参数传递全是以值传递的
public class s
public static void main (String [] args)
String aa = new String ("aa");
String bb = new String ("bb");
operate (aa,bb);
System.out.println(bb);

String cc = new String("cc");
String dd = new String("dd");
dd = cc;
System.out.println(dd);

static void operate(String x, String y) //问题就是判断这传递的是什么
y = x;


//打印结果
//bb
//cc
//这样就能看明白了,首先看dd = cc; 将dd的引用指向了cc的对象在堆中的位置
//如果参数也是引用传递,operate方法里实际上就是bb=aa,那么应该打印aa才对
//结果只是传的值
参考技术A 所有代码整到一起了,方法都在上面,楼主可以单独使用:
public static int factorial(int num)
if(num==0 || num==1)
return 1;
else
return num*factorial(num-1);


public static int Fibonacci(int num)
if(num==1 || num==2)
return 1;
else if(num>=3)
return Fibonacci(num-1)+Fibonacci(num-2);
else
System.out.println("输入数字必须大于0.");
return 0;


public static String getName(String name1,String name2)
return "Hello "+name1+" and "+name2;

public static void main(String[] args)
System.out.println("***********阶乘测试*********");
System.out.println("3的阶乘"+factorial(3));
System.out.println("6的阶乘"+factorial(6));
System.out.println("9的阶乘"+factorial(9));

System.out.println("**************Fibonacci测试*****");
List<Integer> list=new ArrayList<Integer>();
for(int i=1;i<11;i++)
list.add(Fibonacci(i));

System.out.println("前10个数字是:");
for(Integer i : list)

System.out.print(i+"\t");

System.out.println("***************测试第三题*********");
System.out.println("请输入第一个姓名:");
String name1=new Scanner(System.in).nextLine();
System.out.println("请输入第二个姓名:");
String name2=new Scanner(System.in).nextLine();
System.out.println(getName(name1,name2));

最后一个题:java方法中参数都是值传递。
参考技术B 1.public class Multi()
//定义方法计算阶乘,返回值为求得的阶乘。
public int option(int n)
long result=1;
//for循环进行连乘
for(int i=1;i<=n;i++)
result*=i;


return result;

public static void main(String[] args)
//实例化一个对象
Multi mu=new Multi();
//分别打印3、6、9的阶乘
System.out.println(mu.option(3));
System.out.println(mu.option(6));
System.out.println(mu.option(9));





2.public class Fibonacci
//1,1,2,3,5,8,13,21,34,55
public int intValue(int n)
//当n<3时就返回1;
if(n==1||n==2)
return 1;
else
//递归调用自己
return intValue(n-1)+intValue(n-2);




public static void main(String[] args)
Fibonacci fi=new Fibonacci();
System.out.println(fi.intValue(10));



3.

public static void main(String[] args)
Scanner sc=new Scanner(System.in);
System.out.println("请输入两个姓名:");
//拿到第一个人名
String people1=sc.next();
////拿到第二个人名
String people2=sc.next();
//打印
System.out.println("Hello "+people1+" and "+people2);


二。简答题
答:java中的参数传递都是值传递。简答题非强项,请参照楼上!

java 问题,希望有人详细解释一下下面代码,谢谢

int decimalPoint = new BigDecimal(entitySymbol.decimalPoint).setScale(0, RoundingMode.HALF_UP).intValue();

java.math.BigDecimal

是java.math包中提供的类,用来对超过16位有效位的数进行精确的运算。

new BigDecimal(entitySymbol.decimalPoint).setScale(0, RoundingMode.HALF_UP).intValue();
.setScale(0, RoundingMode.HALF_UP);//第一个参数是:保留多少位小数,第二个是四舍五入。
.intValue();//是将BigDecimal转为Int类型。

EG:

BigDecimal.setScale();//用于格式化小数点 
setScale(1);//表示保留以为小数,默认用四舍五入方式 
setScale(1,BigDecimal.ROUND_DOWN);//直接删除多余的小数位,如2.35会变成2.3 
setScale(1,BigDecimal.ROUND_UP);//进位处理,2.35变成2.4 
setScale(1,BigDecimal.ROUND_HALF_UP);//四舍五入,2.35变成2.4
setScaler(1,BigDecimal.ROUND_HALF_DOWN);//四舍五入,2.35变成2.3,如果是5则向下舍

参考技术A BigInteger属于java.math.BigInteger,针对大小数的处理类(个人感觉多数用于处理捡钱之类...),BigInteger的构造方法很多,(具体有哪些,Eclipse 中 ALT+? 可以看到),你段代码其实感觉很简单,SETSCALE()就是处理小数点,后面就是四舍五入,然后转成INT型

以上是关于java编程语言谁会,下面题目帮解答一下,要详细步骤啊…………谢谢 急急急求……的主要内容,如果未能解决你的问题,请参考以下文章

谁会用Xcode?教教我

请大神帮我解答一下这个函数。。。包括function中的两个参数

解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细(转)

谁能帮一下我,java选修课的作业,一题两题都可以,先谢谢了!!

我一开机就出现下面图片那个提示,我不知道哪个程序的问题,求高手帮我解答下!!谢谢了

175 道面试必考 Go 语言题目详细解答