1. 程式人生 > 其它 >HTML (001) ASCII碼錶詳解

HTML (001) ASCII碼錶詳解

不知道有沒有bug,我感覺輸入負數說不定會出bug,就是相當於零座標只能建在最左面

import java.util.ArrayList;
import java.util.Scanner;

public class offic {
    public static int[] text = {1,2,3,4,5};
    public static ArrayList<Integer> arrayList = new ArrayList();
    public static void main(String[] args) {
//        System.out.println(llmin(text));
// System.out.println(min(text,0,3)); // place(text,llmin(text)); prin(); place(become_In(arrayList),llmin(become_In(arrayList))); } private static void prin(){ Scanner sc = new Scanner(System.in); while (true){ if (sc.hasNextInt()){
int i = sc.nextInt(); if (i != -1) arrayList.add(i); else break; } } } private static Integer[] become_In(ArrayList<Integer> x){ Integer[] arr = x.toArray(new Integer[x.size()]);
return arr; } /** * 計算相應的路程長度 * @param data 傳入路程的相對位置 * @return 返回最短的路程的長度 * x--起始位置 * y--終止位置 * 注:都是相對於陣列下標而言 */ private static int min(Integer[] data,int x,int y){ int sum = 0; //為偶數的時候的路程長度 if ((y - x + 1)%2 == 0 ){ for (int i = 0; i < (y - x + 1) / 2; i++) { sum += data[y - i] - data[x + i]; } }else{ //為奇數是的路程長度 for (int i = 0; i < (y - x )/2; i++) { sum += data[y - i] - data[x + i]; } } return sum; } /** * 判斷應該劃分的位置 * @param data 傳入基本資料的陣列 * @return 劃分線應該再返回值的後面的那個長度中 place為下標位置 ---place|---- */ private static int llmin(Integer[] data){ int sum = 0; int place = 0; int sum1; int sum2; for (int i = 0; i < data.length-1; i++) { sum1 = min(data , 0 , i); sum2 = min(data , i+1 ,data.length-1); if (sum < sum1 + sum2){ sum = sum1 + sum2; place = i; } } return place; } /** * 完成相應的輸出操作 * @param data 輸入的資料 * @param z 下標位置劃分的位置 */ private static void place(Integer[] data,int z){ if ( (z - 0 + 1) % 2 == 0){ System.out.println("第一個郵局的位置在" + data[(z -1)/2] + "" + data[((z-1)/2 + 1)] + "之間"); }else{ System.out.println("第一個郵局的位置在" + data[z/2] + ""); } if (( data.length - 1 - z) % 2 == 0) { System.out.println("第二個郵局的位置在" + data[(z + (data.length - 1 - z) / 2)] + "" + data[((z + (data.length - 1 - z) / 2) + 1)] +"之間"); }else{ System.out.println("第二個郵局的位置在" + data[(z + (data.length - z) / 2)] + ""); } } private static void fin(Integer[] data){ int z = llmin(data); min(data , 0 , z); } private static void twop(){ } }
郵局選址