练习:6

import java.util.Scanner;
public class Lianxi9 {
public static void main (String[]args){
Scanner input = new Scanner(System.in);
System.out.print (“STB 的成绩是:”);
int stb = input.nextInt();  //STB分数
System.out.print (“JAVA的成绩是:”); //JAVA分数
int java = input.nextInt();
System.out.print (“SQL的成绩是:”); //SQL分数
int sql = input.nextInt();
int diffen;  //分数差
double avg;
System.out.println (“——————–“);
System.out.println (“STB\tJAVA\tSQL”);
System.out.println (stb + “\t” +java + “\t” +sql);
System.out.println (“——————–“);
diffen = java – sql; //计算java课和sql课的成绩差
System.out.println (“java和sql的成绩差:” +diffen);
avg = (stb + java + sql) / 3 ; //计算平均分
System.out.println (“3 门课的平均分是:” +avg);
}
}

这里面一个数字都没有,最后怎么出来分数的呢?
还有,我按照书上敲的代码,但我运行之后只有一行:“STB 的成绩是:”后面的分数都没有,请问这是与环境有关么?


上面这个本来是我想要问的问题,可我不经意的一个发现已经解开了上面的谜底!

我是如何解开上面这个谜团的?请看:

  • 刚才在运行的时候,我什么也没输入,所以我只看到了一个“STB的成绩是:”
  • Scanner input = new Scanner(System.in);
    int stb = input.nextInt();  //这两行的作用是通过键盘输入得到STB的成绩。
  • **通过键盘输入得到STB的成绩(特别重要),我刚才什么都没做,因此控制台不会返回任何结果。

那么正确的应该是:

  • 敲好代码,然后点运行
  • 控制台自动打开
  • 在控制台的“STB的成绩是:”后面任意输入一个两位数,按回车键
  • 在进入其余两项,均按照先输入数字,后回车的步骤
  • 到最后控制台会显示最后结果。

最后的结果是这样(数字可自设):

STB 的成绩是:20
JAVA的成绩是:50
SQL的成绩是:70
——————–
STB    JAVA    SQL
20    50    70
——————–
java和sql的成绩差:-20
3 门课的平均分是:46.0


我简单分析了下其中的变量(可以自己设置名称,但需按照相应java规则命名):

import java.util.Scanner;
public class Lianxi9 {
public static void main (String[]args){
Scanner input = new Scanner(System.in);
System.out.print (“STB 的成绩是:”);
int stb = input.nextInt(); //STB分数
System.out.print (“JAVA的成绩是:”); //JAVA分数
int java = input.nextInt();
System.out.print (“SQL的成绩是:”); //SQL分数
int sql = input.nextInt();
int diffen; //分数差
double avg;
System.out.println (“——————–“);
System.out.println (“STB\tJAVA\tSQL”);
System.out.println (stb + “\t” +java + “\t” +sql);
System.out.println (“——————–“);
diffen = java – sql; //计算java课和sql课的成绩差
System.out.println (“java和sql的成绩差:” +diffen);
avg = (stb + java + sql) / 3 ; //计算平均分
System.out.println (“3 门课的平均分是:” +avg);
}
}

在上面的例子中用删除线标出的是变量,因为语句System.out.println (“”)中,双引号之间的内容属于在控制台中输出的内容,因此不属于变量(我觉得它只是个名词,没有调用任何变量),所以没有标注。

从这个练习开始,以后的java可能变成”动态”的了。
加油!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据