2. 打分系统
在某次考试时, 学生的提交成绩惨不忍睹
云海学长为了让大家及格可谓煞费苦心, 他苦思三天三夜, 终于想出了一套打分方案:
正确数量在0~10时, 每题6分
正确数量在11~20时, 第11~20题, 每题2分
正确数量在21~40时, 第21~40题, 每题1分
但因为需要计分的作业太多了, 希望你能帮帮云海学长, 实现该计分程序.
输入做对的题目数量n, 输出得分.
(0<=n<=40)
样例输入:
23
样例输出:
83
package package01;
import java.util.Scanner;
/**
* @author abner
* @version 1.0
*/
public class practise2_2 {
// 打分系统
// 在某次考试时, 学生的提交成绩惨不忍睹
// 云海学长为了让大家及格可谓煞费苦心, 他苦思三天三夜, 终于想出了一套打分方案:
// 正确数量在0~10时, 每题6分
// 正确数量在11~20时, 第11~20题, 每题2分
// 正确数量在21~40时, 第21~40题, 每题1分
//
// 但因为需要计分的作业太多了, 希望你能帮帮云海学长, 实现该计分程序.
// 输入做对的题目数量n, 输出得分.
// (0<=n<=40)
//
// 样例输入:
// 23
// 样例输出:
// 83
public static void main(String[] args) {
int n;
int result;
Scanner scanner = new Scanner(System.in);
n= scanner.nextInt();
if (n <= 10) result = n * 6;
else if (n <= 20) result = 10 * 6 + (n - 10) * 2;
else result = 10 * 6 + 10 * 2 + (n - 20) * 1;
System.out.println(result);
}
}
(1)用于对静态字段、只读字段等的初始化。
(2)添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。
(3)类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数
(4)静态构造函数是不可继承的,而且不能被直接调用。
(5)如果类中包含用来开始执行的 Main 方法,则该类的静态构造函数将在调用 Main方法之前执行。任何带有初始值设定项的静态字段,则在执行该类的静态构造函数时,先要按照文本顺序执行那些初始值设定项。
(6)如果没有编写静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的静态构造函数。
以下用例子代码进一步说明:
using System;
class A { public static int X; static A()
④ 执行完后返回到③ { X = B.Y + 1; Console.WriteLine("static A()"); } }class B { public static int Y = A.X + 1③ 调用了A的静态成员, 转到A的静态构造函数----> static B()
② 如果带有初始值设定项的静态字段,执行该类的静态构造函数时,
先要按照文本顺序执行那些初始值设定项。
转到初始值设定项----> { Console.WriteLine("staticB()"); } static void Main()
① 程序入口,
如果类中包含用来开始执行的 Main 方法,
该类的静态构造函数将在调用 Main 方法之前执行。
转到B的静态构造函数----> { Console.WriteLine("X = {0},Y = {1}", A.X, B.Y);
⑤ 输出结果 Console.ReadLine(); } }