标签:浮点型 class 改变 cal 不同的 padding append css 最大
1、请用脚本的方式编程计算并输出下列级数的前 n 项之和 Sn,直到 Sn 刚好大于或等于 q
创建文件。
赋予权限。
创建并写入代码
import scala.io.StdIn object test2 { def main(args: Array[String]) { var Sum=0.0 println("请输入n") var n:Long=StdIn.readLine().toLong var i=1.0 while(Sum<n) { var mid=(i+i)/i Sum=Sum+(i+1)/i i=i+1 } println("**************************") println("计算级数为:",Sum) } }
然后编译运行:
在这里要注意:那个-classpath . 后面的test2是类名
2、模拟图形绘制
写入如下代码:
case class Point(var x:Double ,var y:Double) extends Drawable{ def shift(X:Double ,Y:Double){ x += X y += Y } } trait Drawable{ def draw(){println(this.toString)} } abstract class Shape(var location:Point)//location是shape的一个可变字段 { def moveTo(newLocation:Point) { location = newLocation } def zoom(scale:Double) } class Line(beginPoint:Point,var endPoint:Point)extends Shape(beginPoint) with Drawable{ override def draw() { println(s"Line:(${location.x},${location.y}--(${endPoint.x},${endPoint.y})") } override def moveTo(newLocation:Point) { endPoint.shift(newLocation.x-location.x,newLocation.y-location.y) location = newLocation } override def zoom(scale:Double) { val midPoint=Point((endPoint.x+location.x)/2,(endPoint.y+location.y)/2) location.x=midPoint.x+scale*(location.x-midPoint.x) location.y=midPoint.y+scale*(location.y-midPoint.y) endPoint.x=midPoint.x+scale*(endPoint.x-midPoint.x) endPoint.y=midPoint.y+scale*(endPoint.y-midPoint.y) } } class Circle(center:Point,var radius:Double)extends Shape(center) with Drawable { override def draw() { println(s"Circle center:(${location.x},${location.y}),R=$radius") } override def zoom(scale :Double) { radius = radius*scale } } object test3 { def main(args:Array[String]) { val p = new Point(10,30) p.draw val line1 = new Line(Point(0,0),Point(20,20)) line1.draw line1.moveTo(Point(5,5)) line1.draw line1.zoom(2) line1.draw val circle = new Circle(Point(10,10),5) circle.draw circle.moveTo(Point(30,20)) circle.draw circle.zoom(0.5) circle.draw } }
} |
编译运行结果:
统计学生成绩
学生的成绩清单格式如下所示,第一行为表头,各字段意思分别为学号、性别、课程名 1、课程名 2 等,后面每一行代表一个学生的信息,各字段之间用空白符隔开
给定任何一个如上格式的清单(不同清单里课程数量可能不一样),要求尽可能采用函 数式编程,统计出各门课程的平均成绩,最低成绩,和最高成绩;另外还需按男女同学分开, 分别统计各门课程的平均成绩,最低成绩,和最高成绩。 测试样例 1 如下:
创建类:
写入如下代码:
import scala.collection.mutable.ArrayBuffer object test4 { def main(args: Array[String]): Unit = { var students:ArrayBuffer[Student] = new ArrayBuffer[Student]() students.append(new Student(301610, "male", 80, 64, 78)) students.append(new Student(301611, "female", 65, 87, 58)) students.append(new Student(301612, "female", 44, 71, 77)) students.append(new Student(301613, "female", 66, 71, 91)) students.append(new Student(301614, "female", 70, 71, 100)) students.append(new Student(301615, "male", 72, 77, 72)) students.append(new Student(301616, "female", 73, 81, 75)) students.append(new Student(301617, "female", 69, 77, 75)) students.append(new Student(301618, "male", 73, 61, 65)) students.append(new Student(301619, "male", 74, 69, 68)) students.append(new Student(301620, "male", 76, 62, 76)) students.append(new Student(301621, "male", 73, 69, 91)) students.append(new Student(301622, "male", 55, 69, 61)) students.append(new Student(301623, "male", 50, 58, 75)) students.append(new Student(301624, "female", 63, 83, 93)) students.append(new Student(301625, "male", 72, 54, 100)) students.append(new Student(301626, "male", 76, 66, 73)) students.append(new Student(301627, "male", 82, 87, 79)) students.append(new Student(301628, "female", 62, 80, 54)) students.append(new Student(301629, "male", 89, 77, 72)) println(students.length) println(students(1).toString) getData(students) getDataMale(students) getDataFeMale(students) } def getData(value: ArrayBuffer[Student]): Unit ={ var Mathaverage:Double=0; var MathSum:Double = 0; var MathMin:Double = value(0).Math; var MathMax:Double = 0; var Englishaverage:Double=0; var EnglishSum:Double = 0; var EnglishMin:Double = value(0).English; var EnglishMax:Double = 0; var Physicsaverage:Double=0; var PhysicsSum:Double = 0; var PhysicsMin:Double = value(0).Physics; var PhysicsMax:Double = 0; var number = value.length; for (i <- 0 until value.length){ //三科总数 MathSum = value(i).Math+MathSum EnglishSum = value(i).English+EnglishSum PhysicsSum = value(i).Physics+PhysicsSum //最大和最小 if(value(i).Math>MathMax){ MathMax=value(i).Math; } if(value(i).English>EnglishMax){ EnglishMax=value(i).English; } if(value(i).Physics>PhysicsMax){ PhysicsMax=value(i).Physics; } if(value(i).Math<MathMin){ MathMin=value(i).Math; } if(value(i).English<EnglishMin){ EnglishMin=value(i).English; } if(value(i).Physics<PhysicsMin){ PhysicsMin=value(i).Physics; } } //平均值 Mathaverage=MathSum/number Englishaverage=EnglishSum/number Physicsaverage=PhysicsSum/number println("course\t average\t min\t max \t") println("Math:\t "+Mathaverage+"\t\t"+MathMin+"\t "+MathMax) println("English:\t"+Englishaverage+"\t"+EnglishMin+"\t "+EnglishMax) println("Physics:\t"+Physicsaverage+"\t"+PhysicsMin+"\t "+PhysicsMax) } def getDataMale(value: ArrayBuffer[Student]): Unit = { var Mathaverage: Double = 0; var MathSum: Double = 0; var MathMin: Double = value(0).Math; var MathMax: Double = 0; var Englishaverage: Double = 0; var EnglishSum: Double = 0; var EnglishMin: Double = value(0).English; var EnglishMax: Double = 0; var Physicsaverage: Double = 0; var PhysicsSum: Double = 0; var PhysicsMin: Double = value(0).Physics; var PhysicsMax: Double = 0; var number = 0; for (i <- 0 until value.length) { if (value(i).gender.equals("male")) { number = number + 1 //三科总数 MathSum = value(i).Math + MathSum EnglishSum = value(i).English + EnglishSum PhysicsSum = value(i).Physics + PhysicsSum //最大和最小 if (value(i).Math > MathMax) { MathMax = value(i).Math; } if (value(i).English > EnglishMax) { EnglishMax = value(i).English; } if (value(i).Physics > PhysicsMax) { PhysicsMax = value(i).Physics; } if (value(i).Math < MathMin) { MathMin = value(i).Math; } if (value(i).English < EnglishMin) { EnglishMin = value(i).English; } if (value(i).Physics < PhysicsMin) { PhysicsMin = value(i).Physics; } } } //平均值 Mathaverage=MathSum/number Englishaverage=EnglishSum/number Physicsaverage=PhysicsSum/number println("course\t average\t min\t max \t(Male)") Mathaverage=Mathaverage.toInt Englishaverage=Englishaverage.toInt Physicsaverage=Physicsaverage.toInt println("Math:\t "+Mathaverage+"\t\t"+MathMin+"\t "+MathMax) println("English:\t "+Englishaverage+"\t\t"+EnglishMin+"\t "+EnglishMax) println("Physics:\t "+Physicsaverage+"\t\t"+PhysicsMin+"\t "+PhysicsMax) } def getDataFeMale(value: ArrayBuffer[Student]): Unit ={ var Mathaverage:Double=0; var MathSum:Double = 0; var MathMin:Double = value(1).Math; var MathMax:Double = 0; var Englishaverage:Double=0; var EnglishSum:Double = 0; var EnglishMin:Double = value(1).English; var EnglishMax:Double = 0; var Physicsaverage:Double=0; var PhysicsSum:Double = 0; var PhysicsMin:Double = value(1).Physics; var PhysicsMax:Double = 0; var number = 0; for (i <- 0 until value.length){ if(value(i).gender.equals("female")){ number=number+1 //三科总数 MathSum = value(i).Math+MathSum EnglishSum = value(i).English+EnglishSum PhysicsSum = value(i).Physics+PhysicsSum //最大和最小 if(value(i).Math>MathMax){ MathMax=value(i).Math; } if(value(i).English>EnglishMax){ EnglishMax=value(i).English; } if(value(i).Physics>PhysicsMax){ PhysicsMax=value(i).Physics; } if(value(i).Math<MathMin){ MathMin=value(i).Math; } if(value(i).English<EnglishMin){ EnglishMin=value(i).English; } if(value(i).Physics<PhysicsMin){ PhysicsMin=value(i).Physics; } } } //平均值 Mathaverage=MathSum/number Englishaverage=EnglishSum/number Physicsaverage=PhysicsSum/number println("course\t average\t min\t max \t(FeMale)") Mathaverage=Mathaverage.toInt Englishaverage=Englishaverage.toInt Physicsaverage=Physicsaverage.toInt println("Math:\t "+Mathaverage+"\t\t"+MathMin+"\t "+MathMax) println("English:\t "+Englishaverage+"\t\t"+EnglishMin+"\t "+EnglishMax) println("Physics:\t "+Physicsaverage+"\t\t"+PhysicsMin+"\t "+PhysicsMax) } } class Student(id1:Int,gender1:String,Math1:Double,English1:Double,Physics1:Double){ var id:Int = id1 var gender:String = gender1 var Math:Double = Math1 var English:Double = English1 var Physics:Double = Physics1 override def toString = s"Student($id, $gender, $Math, $English, $Physics)" }
编译运行之后的结果:
标签:浮点型 class 改变 cal 不同的 padding append css 最大
原文地址:https://www.cnblogs.com/lover995/p/12312743.html