1.定义一个sum函数,返回指定区间的值的和?例如,区间[1,4]的和为1+2+3+4=10返回指定区间值的平方的和呢?立方呢?
import scala.io.StdIn
object SumRange {
def sum(x:Int,y:Int):Int= {
var num = 0;
for (i <- x to y) {
num += i;
}
num
}
def main(args: Array[String]) {
val x,y=readInt();
print(sum(x,y))
}
}
2.构造Person类。包括姓名(name),性别(sex)和年龄(age)。提供所有属性的set和get函数,提供print函数打印其信息;构造Student类继承Person类,并增加学校(school),学号(studentID)。并对其进行测试。
import java.io._
class Person {
var name=""
var sex=""
var age=0
def names=name
def sexs=sex
def ages=age
def name_(newName:String): Unit ={
this.name=newName
}
def sex_(newSex:String): Unit ={
this.sex=newSex
}
def age_(newAge:Int): Unit ={
this.age=newAge
}
def print(): Unit ={
println(this.name+'\t'+this.sex+'\t'+this.age)
}
}
//2.创建子类Student
class Student extends Person{
private[this] var _school: String = ""
private[this] var _studentId: String = ""
def school: String = _school
def school_=(value: String): Unit = {
_school = value
}
def studentId: String = _studentId
def studentId_=(value: String): Unit = {
_studentId = value
}
def printsc(): Unit = {
println(this.name + '\t' + this.sex + '\t' + this.age + '\t' + this._school + '\t' + this.studentId)
}
}
//3。创建主函数调用方法
object Stu {
def main(args: Array[String]) {
val person = new Person
person.name = "W"
person.sex = "男"
person.age = 21
person.print()
val student = new Student
student.name = "W"
student.sex = "男"
student.age = 21
student.school = "JXNU"
student.studentId = "156421561684"
student.printsc()
// println(s"person.name = ${person.name}")
}
}
3. 根据数据文件2016phonelocation,编写程序实现功能:运行程序,用户输入任意省份,输出这个省份号码段的个数,电信、移动、联通各占多少个。
import scala.io.Source
import java.util.Scanner
object iphone {
def main(args: Array[String]): Unit = {
val phone = Source.fromFile("/C:/Users/Administrator/2016phonelocation.txt")
// println(phone)//选择文件保存的位置
val sc = new Scanner(System.in).next()
// //从键盘读入省份,可以用next() or nextLine()
val lineIterator = phone.getLines()
// //处理每一行而不是文件的全部内容。 这可以通过getLines方法实现
var ChinaUnicom = 0
var ChinaMobile = 0
var ChinaTeleCom = 0
var num = 0
for (line <- lineIterator) {
if (line.contains(sc)&&line.contains("中国联通")) ChinaUnicom = ChinaUnicom + 1
if (line.contains(sc)&&line.contains("中国电信")) ChinaMobile = ChinaMobile + 1
if (line.contains(sc)&&line.contains("中国移动")) ChinaTeleCom = ChinaTeleCom + 1
}
print("该省共有号码段" + (ChinaMobile + ChinaTeleCom + ChinaUnicom) + "个。")
print("其中,中国电信" + ChinaTeleCom + "个,中国移动" + ChinaMobile + "个,中国联通" + ChinaUnicom + "个。")
//println(num)
}
}