数据处理四之平均温度

  1. 数据生成逻辑
import java.io.{File, FileWriter}

import org.apache.spark.util.random

import scala.util.Random


object DealDataExample4_1 {
  val random = new Random()
  val arr = Array("北京","上海","广州","深圳","天津","重庆","南京")

  /**
    * 随机生成城市
    * @return
    */
  def city():String={
    //随机获取城市
    arr(random.nextInt(7))
  }

  /**
    * 随机生成温度
    * @return
    */
  def temp():Double={
    val tm:Double = (random.nextInt(999)+2000)*0.01
    tm.formatted("%.2f").toDouble
  }
  def mouth():String={
    val mth = (random.nextInt(11)+1).toString
    mth.concat("月份")
  }
  def main(args: Array[String]): Unit = {
    /**
      * false:数据会被写到文件开头而不是末尾;
      *  假如为true数据会被写在文件末尾而不是开头
      */
    val writer: FileWriter = new FileWriter(new File("ExampleData/DealDataExample4/input/tempAvg.txt"))

    for (i <- 0 to 100 ){
      writer.write(city()+" "+temp()+" "+mouth()+"\n")
    }
    writer.flush()
    writer.close()
    println("write the data successful")
  }
}
  1. 数据
    上海 28.99 3月份
    天津 27.97 11月份
    天津 28.75 5月份
    广州 29.45 5月份
    北京 20.01 7月份
    重庆 27.48 6月份
    北京 26.47 2月份
    上海 23.63 6月份
    天津 21.8 6月份
    北京 20.47 7月份
    广州 26.37 7月份
    北京 29.65 10月份
    北京 26.65 5月份
    重庆 27.09 2月份
    广州 25.93 5月份
    上海 29.18 4月份
    深圳 29.55 11月份
    上海 22.89 6月份
    天津 29.73 9月份
    上海 21.4 5月份
    上海 21.68 10月份
    重庆 24.74 5月份
    深圳 28.22 10月份
    上海 20.94 3月份
    天津 28.2 6月份
    重庆 20.06 8月份
    北京 22.62 10月份
    上海 23.91 7月份
    深圳 29.25 8月份
    重庆 20.28 8月份
    深圳 28.37 2月份
    北京 23.37 2月份
    上海 23.02 5月份
    北京 29.7 7月份
    北京 24.76 6月份
    上海 26.02 11月份
    南京 22.39 1月份
    北京 26.77 5月份
    深圳 26.71 8月份
    广州 29.86 6月份
    重庆 27.56 3月份
    上海 28.85 3月份
    南京 27.71 6月份
    重庆 21.72 3月份
    天津 29.35 3月份
    南京 27.58 10月份
    南京 26.59 3月份
    重庆 20.59 4月份
    深圳 22.06 8月份
    深圳 22.36 7月份
    广州 29.49 11月份
    重庆 29.7 5月份
    北京 25.76 10月份
    深圳 25.33 10月份
    重庆 26.42 9月份
    北京 28.23 6月份
    南京 22.38 8月份
    重庆 26.36 8月份
    上海 29.16 1月份
    上海 21.79 7月份
    南京 20.31 7月份
    重庆 20.07 3月份
    上海 22.23 10月份
    重庆 22.35 8月份
    北京 21.23 10月份
    上海 23.8 2月份
    重庆 21.4 10月份
    重庆 28.88 3月份
    北京 29.64 2月份
    南京 23.19 5月份
    南京 21.14 6月份
    重庆 22.34 9月份
    北京 23.65 10月份
    南京 20.82 5月份
    天津 26.79 7月份
    上海 29.15 2月份
    天津 27.43 3月份
    北京 23.69 10月份
    重庆 27.21 3月份
    上海 24.07 9月份
    天津 21.59 2月份
    广州 22.93 5月份
    天津 26.29 6月份
    北京 28.7 1月份
    北京 28.35 2月份
    天津 28.15 6月份
    天津 24.48 11月份
    南京 21.36 11月份
    北京 28.38 8月份
    重庆 29.74 11月份
    天津 27.28 8月份
    南京 24.09 1月份
    重庆 21.97 7月份
    深圳 23.13 1月份
    上海 24.57 3月份
    北京 24.66 1月份
    重庆 24.1 1月份
    深圳 27.19 2月份
    广州 21.42 10月份
    天津 20.36 5月份
    广州 29.96 2月份

  2. 需求
    给一个整数数组,调整每个数的大小,使得相邻的两个数的差不大于一个给定的整数target,
    调整每个数的代价为调整前后的差的绝对值,写一个函数求调整代价之和最小是多少。
    注意事项:
    你可以假设数组中每个整数都是正整数,且小于等于100。
    格式:
    依次输入一个整数数组 num 和一个数字target ,最后输出最小调整代价之和。

  3. 逻辑

import java.util.Scanner;

public class Arithmetic01 {
    public static void main(String[] args) {
        //1.输入题目需求数据
        Scanner sc = new Scanner(System.in);
        System.out.println("输入一个整数数组 num");
        int[] num = intput();
        System.out.println("输入一个整数数组 target");
        int target = sc.nextInt();

        //2.主要业务逻辑
        deal(num,target);
    }

    public static void deal(int num[],int target){
        //依次取出数组中的元素做逻辑判断
        for(int i=0; i//判断相邻两个整数差的绝对值是否大于target
            if(Math.abs(num[i]-num[i+1])>target){
               // while (){

                //}
            }
        }
    }

    /**
     * 输入数据方法
     * @return
     */
    public static int[] intput() {
        Scanner sc = new Scanner(System.in);
        //定义两个整数num存放输入的整数,n存放数组个数
        int num = 0, n = 0;
        int arr[] = new int[5];
        System.out.println("请输入整数:");
        while (num != -1) {
            num = sc.nextInt();
            if (num != -1) {
                arr[n] = num;
                n++;
            }
        }

        System.out.println("num = ["+arr[0]+","+arr[1]+","+arr[2]+","+arr[3]+","+arr[4]+"]");
        System.out.println("");
        return arr;
    }
}
  1. 结果
    (上海,10月份,21.96)
    (上海,11月份,26.02)
    (上海,2月份,26.48)
    (上海,7月份,22.85)
    (上海,4月份,29.18)
    (上海,1月份,29.16)
    (上海,6月份,23.26)
    (上海,9月份,24.07)
    (上海,5月份,22.21)
    (上海,3月份,25.84)
    (北京,6月份,26.5)
    (北京,7月份,23.39)
    (北京,10月份,24.43)
    (北京,1月份,26.68)
    (北京,5月份,26.71)
    (北京,2月份,26.96)
    (北京,8月份,28.38)
    (南京,10月份,27.58)
    (南京,11月份,21.36)
    (南京,8月份,22.38)
    (南京,6月份,24.43)
    (南京,7月份,20.31)
    (南京,5月份,22.01)
    (南京,1月份,23.24)
    (南京,3月份,26.59)
    (天津,3月份,28.39)
    (天津,5月份,24.56)
    (天津,9月份,29.73)
    (天津,7月份,26.79)
    (天津,6月份,26.11)
    (天津,2月份,21.59)
    (天津,11月份,26.23)
    (天津,8月份,27.28)
    (广州,10月份,21.42)
    (广州,11月份,29.49)
    (广州,2月份,29.96)
    (广州,5月份,26.1)
    (广州,7月份,26.37)
    (广州,6月份,29.86)
    (深圳,10月份,26.78)
    (深圳,11月份,29.55)
    (深圳,2月份,27.78)
    (深圳,8月份,26.01)
    (深圳,1月份,23.13)
    (深圳,7月份,22.36)
    (重庆,3月份,25.09)
    (重庆,11月份,29.74)
    (重庆,1月份,24.1)
    (重庆,5月份,27.22)
    (重庆,6月份,27.48)
    (重庆,4月份,20.59)
    (重庆,7月份,21.97)
    (重庆,9月份,24.38)
    (重庆,8月份,22.26)
    (重庆,2月份,27.09)
    (重庆,10月份,21.4)

你可能感兴趣的:(数据处理案例)