2020年寒假学习进度第二天

今天主要研究了spark实验二的第一部分的Scala编写,看完代码后发现需要在REPL模式下运行,经过查证发现需要安装scala脚本,所以尝试在虚拟机中安装scala,成功后使用给的代码尝试运行,但是出错,提示没有找到类的定义,经过查证,发现是代码中缺少类得定义。改正后可以正常运行。

import io.StdIn._
  object Test {
      def main(args: Array[String]){
          var Sn:Float = 0

          var n:Float=1

      println("please input q:")

     val q = readInt()

     while(Sn<q){
         Sn+=(n+1)/n
         n+=1
     }

     println(s"Sn=$Sn")
     }
 }

  

第二个实验的第二个部分出现了这个unclosed string literal问题,百度上说的都是字符串不闭合,我仔细研究了一下代码,发现是闭合的,于是我把出问题的代码注释掉。尝试运行,发现可以的,而后我又去掉注释,就没问题了,代码就是这么神奇,格式也会有影响。

case class Point(var x:Double,var y:Double) extends Drawable{
def shift(deltaX:Double,deltaY:Double){x+=deltaX;y+=deltaY}
}
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 MyDraw{
 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 cir= new Circle(Point(10,10),5)
cir.draw
cir.moveTo(Point(30,20))
cir.draw
cir.zoom(0.5)
cir.draw
 } }

  

总结:做实验时遇到问题要仔细地查询解决办法,所有问题都可以解决的。

原文地址:https://www.cnblogs.com/ljm-zsy/p/12244730.html

时间: 2024-11-05 19:01:39

2020年寒假学习进度第二天的相关文章

2020年寒假学习进度(一)

由于下学期就要进行毕业设计答辩,打算这个寒假在家先继续巩固知识和学习新的技术要点,然后着力进行毕业设计的开发. 今天主要复习了一些关于javaweb的内容,总结如下: (1)WEB,也就是网页的意思,它用于表示Internet主机上供外界访问的资源.常用动态web资源开发技术:JSP/Servlet.ASP.PHP等 本人主要学习java运用于web开发的重要技术在Java中,动态web资源开发技术统称为Javaweb. (2)servlet/jsp: 这是SUN公司(SUN现在已经被Oracl

2020年寒假学习进度第七天

今天主要学习了spark实验四的内容,实验四主要为RDD编程,本实验的重点为两个编程题 1.编写独立应用程序实现数据去重对于两个输入文件 A 和 B,编写 Spark 独立应用程序,对两个文件进行合并,并剔除其中重复的内容,得到一个新文件 C.下面是输入文件和输出文件的一个样例,供参考.输入文件 A 的样例如下: 20170101 x 20170102 y 20170103 x 20170104 y 20170105 z 20170106 z 输入文件 B 的样例如下: 20170101 y 2

2020年寒假学习进度第十天

今天主要学习了实验 7 Spark 机器学习库 MLlib 编程实践, 主要代码: import org.apache.spark.ml.feature.PCA import org.apache.spark.sql.Row import org.apache.spark.ml.linalg.{Vector,Vectors} import org.apache.spark.ml.evaluation.MulticlassClassificationEvaluator import org.apa

2020年寒假学习进度第九天

今天主要解决了实验五未解决的问题,前天在做实验五spark连接mysql时出现找不到jar包的问题,看了网上的讲解,调整了一下路径,有人说jar包要放在同名的一个文件夹里,实际上jar包应该直接放在spark安装目录的jars目录下就可,这样就可以连接上. 3. 编程实现利用 DataFrame 读写 MySQL 的数据 (1) 在 MySQL 数据库中新建数据库 sparktest,再建表 employee,包含下列两行数据: 表 1 employee 表原有数据 (2) 配置Spark通过J

2020年寒假学习进度第十五天

原文地址:https://www.cnblogs.com/ljm-zsy/p/12312935.html

寒假学习进度02

日期:2020.01.15 博客期:124 星期三 嗯,把这几天学习进度汇总一下: 1.CSV文件.XML文件.JSON文件的处理整合 这一部分详细的让我明天把博客整理出来,你们就能看到了,不过这一部分代码,借鉴了好多其他博主的,我在此声明一下:数据的文件读写部分(除CSV文件外,其余两个)不是本博主原创,剩下的这三者之间的转换和前面构造好的BeanGroup类型的相互转换是自己写的.嗯,具体看下一篇博客吧! 2.数据爬取详细信息 嗯,爬取的话,现在是只能爬取一页上的所有信息,没能做到页面跳转继

2020寒假学习进度报告2

今日完成内容:学习了scala中的语法,主要知识点包括:变量的定义,数值类型,运算符,流程控制,for循环,while循环, do ... while循环,(不建议使用while和do...while,因为函数引入了外部变量),函数尤其是递归,之前学习其他语言时强调尽量少用递归操作,但是在scala中对于递归做了底层优化,所以scala中会用到大量的递归操作. 明日学习任务:学习scala中函数的使用,面向对象编程和函数式编程 原文地址:https://www.cnblogs.com/mawan

2020寒假学习进度报告6

1. 计算级数 请用脚本的方式编程计算并输出下列级数的前 n 项之和 Sn,直到 Sn 刚好大于或等于 q 为止,其中 q 为大于 0 的整数,其值通过键盘输入. 例如,若 q 的值为 50.0,则输出应为:Sn=50.416695.请将源文件保存为 exercise2-1.scala,在 REPL模式下测试运行,测试样例:q=1时,Sn=2:q=30时,Sn=30.891459: q=50 时,Sn=50.416695. 1 var n: Float = 1 2 var Sn: Float =

寒假学习进度三——安卓的一些基本组件

今天主要学习了安卓一些简单的组件,前两天都是按照案例(demo)敲的,对其中用到的组件不是特别的了解. TextView(文本框组件):主要用来显示文字的一些信息.通过修改TextView的属性可以改变文字的颜色,大小,位置.这个组件较比较简单,容易上手.这里就不过多叙述了. Button(按钮):是程序用于和用户进行交互的一个重要控件.Android Studio会对Button中的所有英文字母自动进行大写转换,你可以使用将textAllCaps属性改为false来禁用这一默认特性. Edit