如何返回代码中的某个位置

时间:2013-12-17 23:04:48

标签: java

import java.util.Scanner;

public class Mas {
    private static int j;

    public static void main(String[] args) {

        int a, b;
        Scanner in = new Scanner(System.in);
        System.out.println("Ievadiet masīva izmērus");
        a = in.nextInt();
        b = in.nextInt();

        int[][] Masivs = new int[a][b];

        System.out.println("Tālāk tiks ievadīti masīva dati");
        for (int i = 0; i < a; i++) {
            System.out.println("Ievadiet rindas nr. " + (i + 1) + " elementus");
            for (int j = 0; j < b; j++)
                Masivs[i][j] = in.nextInt();
        }
        int det = 0;
        if (a == b && a <= 3)
            System.out.println("Vai velaties aprekinat masiva determinantu?");
        String x;
        x = in.next();
        switch (x) {
        case "ja":
            if (a == 3)
                det = (Masivs[0][0] * Masivs[1][1] * Masivs[2][2])
                        + (Masivs[0][1] * Masivs[1][2] * Masivs[0][2])
                        + (Masivs[0][2] * Masivs[1][0] * Masivs[2][1])
                        - (Masivs[0][2] * Masivs[1][1] * Masivs[2][0])
                        + (Masivs[0][1] * Masivs[1][0] * Masivs[2][2])
                        + (Masivs[0][0] * Masivs[1][2] * Masivs[2][1]);
            if (a == 2)
                det = (Masivs[0][0] * Masivs[1][1])
                        - (Masivs[0][1] * Masivs[1][0]);
            if (a == 1)
                det = Masivs[0][0];
            System.out.println("masiva determinats ir " + det);
        }
        String z;
        System.out
                .println("Izvelaties darbibu(vid-videjas vertibas aprekinasana vai max-maximalas un minimalas vertibas atrasana)");
        z = in.next();
        switch (z) {
        case "vid":
            System.out
                    .println("Jus izvelejaties videjas vertibas aprekinasanu");
            double sk = 0,
            sum = 0;
            double vid = 0;
            for (int i = 0; i < a; i++)
                for (int j = 0; j < b; j++) {
                    sk += 1;
                    sum += Masivs[i][j];
                    vid = sum / sk;
                }
            System.out.println("masiva videja vertiba ir " + vid);
            break;

        case "Max":
            System.out
                    .println("Jus izvelejaties augstakas un zemakas vertibas aprekinasanu");
            int max = 0,
            min = 2147483647;
            for (int i = 0; i < a; i++)
                for (int j = 0; j < b; j++) {
                    if (max < Masivs[i][j])
                        max = Masivs[i][j];
                    if (min > Masivs[i][j])
                        min = Masivs[i][j];
                }
            System.out.println("Masiva augstaka vertiba ir " + max
                    + " un zemaka vertiba ir " + min);
            break;
        }
    }
}

所以我正在制作一个关于使用数组的学校项目,我想最后发表一个声明,问你想从开始或选择一个不同的案例,但我不知道如何返回在我的计划中的某一点。

2 个答案:

答案 0 :(得分:1)

将循环中的重复代码包裹起来,并在循环内部询问用户该做什么并根据该响应采取行动。

boolean keepGoing = true;
do {
    // ask the user questions
    // if or switch goes here; probably best to separate steps into methods
    // does the user want to keep going?
} while (keepGoing);

答案 1 :(得分:1)

  

如何返回代码中的某个位置

将代码拆分为定义良好的方法,并在需要时调用它们。就是这样,尝试模块化您的代码。

如果您想在一定时间内重复算法,或者无限期地重复#34;,请使用for或/和while循环。

相关问题