Java 如何在表格的单元格中输入数字?

Java 如何在表格的单元格中输入数字?,java,Java,到目前为止,我编写的代码使一个表看起来有点像excel中的表,并且我能够在编译时输入字母和单词,但我不能说例如1a等于5并使1a中的单元格在其中显示5。到目前为止,这就是我的表的外观。这是我绘制表格的代码: package table; public class Spreadsheat { private int xVal = 137; private int yVal = 1; private int[][] table = new int [20][20];

到目前为止,我编写的代码使一个表看起来有点像excel中的表,并且我能够在编译时输入字母和单词,但我不能说例如1a等于5并使1a中的单元格在其中显示5。到目前为止,这就是我的表的外观。这是我绘制表格的代码:

package table;

public class Spreadsheat {

    private int xVal = 137;
    private int yVal = 1;
    private int[][] table = new int [20][20];
    private char yaxis = 'A';
    private int xaxis = 0;


    public Spreadsheat(){
        for(int i = 0; i < xVal; i++){
            System.out.print("-");
        }

        System.out.println();
        System.out.print(" |");
        for(int i = 0; i < 17; i++){
            System.out.print("| " + yaxis + "\t" + "|" );
            yaxis = (char) (yaxis + 1);
        }

        System.out.println();
        for(int i = 0; i < xVal; i++){
            System.out.print("-");
        }

        System.out.println();
        for(int j = 0; j <10;j++){
            System.out.print(" " + xaxis + "|");
            for(int i = 0; i < 17; i++){
                System.out.print("|" + "\t" + "|" );
            }

            System.out.println();
            xaxis = xaxis + 1;
        }
    }
    public void setxval(int xVal) {
        this.xVal = xVal;
    }
    public int getxVal() {
        return xVal;
    }
    public void setyVal(int yVal) {
        this.yVal = yVal;
    }
    public int getyVal() {
        return yVal;
    }
    public void setTable(int table[][]) {
        this.table = table;
    }
    public int[][] gettable() {
        return table;
    }
}
  • 您的电子表格需要一种更新
    表格的方法。例如,在电子表格类中需要这样的方法:
公共void设置值(int行、int列、int值){ 如果(行>=0&&row<20&&col>=0&&col<20){ 表[行][列]=值; } }
  • 您需要一种方法来转换键盘输入,以便可以调用
    table.setValue(…)
    。例如,如果输入“2A=8”,则方法应将该字符串解析为x=1、y=0、v=8和call table.setValue(x、y、v)。如果您希望在电子表格或客户机中使用该方法,则由您决定

  • 您需要电子表格中的一个方法,这样您就可以在屏幕上打印出包含更新内容的表格。你会意识到你需要格式化你的内容,这样你的栏目才能正确排列。最简单的方法是将每列设置为固定宽度,比如8,然后使用
    java.text.DecimalFormat
    将int转换为字符串


我想这是一个开始。

随机评论:电子表格,带有
ee
而不是
ea
。。。
package Client;

import java.util.Scanner;

import table.Spreadsheat;

public class VisiCalc {
    public static void main(String[] args){
        Scanner kb = new Scanner(System.in);
        Spreadsheat table = new Spreadsheat();
        boolean end = false;
        while(end == false){
            String input = kb.next();
            System.out.println(input);
            if(input.contains("quit")){
                end = true;
            }
        }

    }

}
public void setValue(int row, int col, int value) { if (row >= 0 && row < 20 && col >=0 && col < 20) { table[row][col] = value; } }