java作业(1)

第一题:

模仿JavaAppArguments.java示例,编写一个程序,此程序从命令行接收多个数字,求和之后输出结果。

(1)设计思想  

程序中设置字符串的个数,从键盘进行输入,并且将字符串转化为数字,再输出相加后的值。

(2)

(3)源代码:

package 第二次上课;

import java.util.Scanner;

 

public class JavaAppArguments {

public static void main(String[] args) {  

//String[] 是java库里面有的一个类,  然后定义了一个args的字符串对象   

System.out.println("请输入三个字符串");

Scanner input = new Scanner(System.in);

String[] arggs =new String[3];

for(int i = 0;i<3;++i) {

//arggs[i] = new String();

arggs[i] = input.next();

}

for(String tmp:arggs) {

System.out.println(tmp);

}

// System.out.println("参数个数:"+args.length);   //输出字符串的个数

int sum = 0;

for (String i : arggs)   //就是这种循环格式 args不可以改变  arg可以改变      从第一个字符串开始循环

{

sum+=Integer.valueOf(i);

//valueOf() 是java里面的一个静态函数,可以转化不同参数类型的数据  此处是将字符串型的数据转化成int      Integer 代表额是转化为int  也可以转化为float

}

System.out.println("和为:"+sum);     //输出最后的和

}

}

(4)结果截图:

第二题:

将课程中的所有动手动脑的问题以及课后实验性的问题,整理成一篇文档

  1. 问题:  一个java类文件中,可以有几个公有类?

一个java类文件中只能有一个公有类;其他类可以有很多。

  1. public static void main(String[] args)中的void必须为void,不可以为其他类型,比如int型,编译器是不会通过的,main 方法必须返回类 第二次上课.Jada 中的空类型值。
  2. 问题:为什么java规定作为程序入口点的main() 方法静态的?

 

非静态成员函数在执行前必须先构造并实例化该函数所在的类。如果允许非静态的main,那么main函数所在的类必须先进行实例化,那么就需要再写个函数去实例化main所在的类,再调用main如果这个实例化代码也是非静态的,又要写个函数去实例化它所在的类。因此,java语言就规定了main必须是静态的。

  1. 如图所示代码,输出的结果是什么?

 

结果是 1;  因为Java变量遵循“同名变量的屏蔽原则”前面已经有一个value,并且值为1,所以以后再用value,都会是1.

  1. 运行如下程序,结果是什么?

public class Test{
public static void main(String args[]){
System.out.println(0.05+0.01);
System.out.println(1.0-0.42);
System.out.println(4.015*100);
System.out.println(123.3/100);
}
};0.060000000000000005
0.5800000000000001
401.49999999999994
1.2329999999999999  和我们想的结果可能并不一样;不光是在java中,在好多语言中,float和double是不能进行计算的。

  1. 运行以下程序

 

结果为:

为什么会有这样的结果?

第一个输出结果中,””中本身就是一个字符串,后面的加号默认为数据的链接,输出结果认为一个字符串;第二个输出中,加号首先进行的是加法运算,然后第二个加号才起到链接字符串的作用。

posted @ 2017-10-05 20:02  南极没有北极熊  阅读(161)  评论(0编辑  收藏  举报