编写一个程序,打印一行中两个选定数字的乘法

时间:2018-08-29 21:51:47

标签: java arrays java.util.scanner

输入的第一行表明将有多少行。每行的第一个数字n> = 4并且n <= 1000,包含该行后面的整数数。这n个整数(每个整数> = 0; <= 1000)紧随其后,直到 行,并且应该使用索引存储在数组中(最后两个除外) 数字1…n-2。行中的最后两个整数x,y(x,y> = 1&x,y <= n-2)是行中要乘并打印的整数的索引(从1开始)

Input:
3 //
5 13 2 5 1 3 //
6 5 3 6 7 4 2 //
9 7 12 2 14 5 7 9 6 3 

Output:
65 //
21 //
14 

我了解该代码应如何工作,但是我对如何使用扫描仪来分隔用户将要提供的信息感到非常困惑。如何指定输入的第一个数字为行数?我如何指定下一个数字将列出每行中有多少个数字? -顺便说一下,这是在Java中

2 个答案:

答案 0 :(得分:0)

您可以改为阅读整行,并使用String类的split函数将其分开。 Split返回一个数组,其中包含所有数字,然后使用Integer.parseInt()解析每个标记,以将其从String转换为Integer。

n将在数组(array [0]中的第一个位置)x将在array [array.length-1]中,而y将在array [array.length-2]中,其余元素(从1到array.length-2)是您想要的数字。

答案 1 :(得分:0)

您可以运行以下内容:

private void Btn_Screenshot_Click(object sender, EventArgs e)
{
    using (var bmp = ScreenCapture.Capture(this.rtb_Result))
    {
        var result = saveScreenshotDialog.ShowDialog();
        var fileName = saveScreenshotDialog.FileName;
        if (result == DialogResult.OK)
        {
            ScreenCapture.Save(bmp, fileName);
        }
    }
}

public static Bitmap Capture(RichTextBox rtb)
{
    rtb.Update();  // Ensure RTB fully painted
    Bitmap bmp = new Bitmap(rtb.Width, rtb.Height);
    using (Graphics gr = Graphics.FromImage(bmp))
    {
        gr.CopyFromScreen(rtb.PointToScreen(Point.Empty), Point.Empty, rtb.Size);
    }
    return bmp;
}

public static void Save(Bitmap bmp, string filename)
{
    bmp.Save(filename, ImageFormat.Jpeg);
}

希望这可以让您至少知道该怎么做。然后,您可以随后计算相乘的值。