如何通过创建一个将旧图形常量加倍的新文件来缩放带有图形常量的Java源代码?

问题描述

该程序的目的是从单独的Java源代码文件获取图形常量,并在同一Java程序中按比例放大或缩小来编写更新的文件,其中包含图形常量。

但是,我不确定如何只更改某些行中的数字而忽略其他行。例如,我不想更改RGB值的数字,因此颜色将保持不变。

那么我如何排除某些行来更改数字值?

import java.io.File;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Scanner;
import java.util.Arrays;
public class ScaleUpOrDown {
    public static void main() {
        File myFile = new File("SampleGraphics2.java");
        try {
            Scanner filereader = new Scanner(myFile);

            do {
                BufferedWriter OutputF = new BufferedWriter(new FileWriter("OutputForDouble.txt",true));
                String line = filereader.nextLine();
                int nu = 0;
                String[] diffArray;

                String sp[] = line.split(" ");
                Pattern patternP = Pattern.compile("-?\\d+");
                for (int i = 0; i < sp.length; i++) {
                    Matcher matchN = patternP.matcher(sp[i]);
                    while (matchN.find()) {
                        sp[i] = String.valueOf(Integer.parseInt(matchN.group()) * 2);
                    }
                }
                Arrays.stream(sp).forEach(string -> extraFunction(string));
                OutputF.append("\n");
                OutputF.close();
            } while (filereader.hasNextLine());
            filereader.close();
        } catch (IOException e) {
            System.out.println("Error,file not found!");
        }
    }

    public static void extraFunction(String Bigstring) {
        try {
            BufferedWriter writingT = new BufferedWriter(new FileWriter("OutputForDouble.txt",true));
            writingT.append(Bigstring + " ");
            writingT.close();
            System.out.print(Bigstring);
        } catch (IOException e) {
            System.out.println("Unable to write to file.");
        }

    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)