RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-487611

perdo's questions

Martin Hope
perdo
Asked: 2022-07-13 04:14:45 +0000 UTC

SQL。查询以从两个相关表中进行选择

  • -1

我的数据库有两个相关的表:

员工职位:

在此处输入图像描述

员工:

在此处输入图像描述

(Employee 表中的Position字段是指Employee Position 表中的 position_id 字段)

需要执行一个查询,其中需要按职位显示员工人数。

你应该得到这样的东西:

Директор    1
HR          3
Бухгалтер   2

数字表示员工人数。编译这么简单的请求有困难,需要帮助

sql запрос
  • 1 个回答
  • 51 Views
Martin Hope
perdo
Asked: 2022-08-13 01:20:38 +0000 UTC

C# 连接任意两个数组的函数。错误:索引超出数组范围

  • -1

任务如下:

编写一个以这种方式连接两个数组的函数:例如,从 [2, 4, 6] 和 ['a', 'b', 'c'] 它将生成 [2, 'a', 4, 'b',6,'c']。那些。使两个数组的元素交替。

使用相同大小的数组执行此操作没有问题:

        void ArrCon(string[] Arr, string[] Arr2)  // Метод для соединения двух массивов
        {
            string str = " ";             // переменная для соединения символов двух массивов
           
            for (int j = 1; j < Arr2.Length; j++)
            {
                str += Arr[j];
                str += ", ";
                str += Arr2[j];
                if (Arr2.Length == j + 1)
                {
                    str += ". ";
                    break;
                }
                str += ", ";
            }
                Console.WriteLine("\n---------------------------------------------------------");
                Console.WriteLine($"\nСоединение двух массивов: {str}");
        }


        Console.Write("Введите количество элементов для первого массива: ");
        int n = Convert.ToInt32(Console.ReadLine());               // определение количество символов в массиве
        string[] arr = new string[n + 1];                          // создение массива arr 
        int i;

        Console.WriteLine("Введите элементы для массива: ");       // заполнение массива символами

        for (i = 1; i <= n; i++)
        {
            Console.Write($"Элемент {i} = ");
            arr[i] = Console.ReadLine();
        }

        Console.WriteLine();
        Console.Write("Массив: ");
        for (i = 1; i <= n; i++)
        {
            Console.Write($"{arr[i]} \t");
        }

        Console.WriteLine("\n---------------------------------------------------------");

        Console.Write("\nВведите количество элементов для второго массива: ");
        int n2 = Convert.ToInt32(Console.ReadLine());             // определение количества символов в массиве
        string[] arr2 = new string[n2 + 1];                       // создание массива arr2 
        int i2;

        Console.WriteLine("Введите элементы для массива: ");      // заполнение массива символами

        for (i2 = 1; i2 <= n2; i2++)
        {
            Console.Write($"Элемент {i2} = ");
            arr2[i2] = Console.ReadLine();
        }

        Console.WriteLine();
        Console.Write("Массив: ");
        for (i2 = 1; i2 <= n2; i2++)
        {
            Console.Write($"{arr2[i2]} \t");
        }


        ArrCon(arr, arr2);                                       // проверка
        Console.WriteLine("########################################################");

控制台输出:

########################################################
Введите количество элементов для первого массива: 4
Введите элементы для массива:
Элемент 1 = 1
Элемент 2 = 2
Элемент 3 = i
Элемент 4 = e

Массив: 1       2       i       e
---------------------------------------------------------

Введите количество элементов для второго массива: 4
Введите элементы для массива:
Элемент 1 = q
Элемент 2 = s
Элемент 3 = 54
Элемент 4 = 333

Массив: q       s       54      333
---------------------------------------------------------

Соединение двух массивов:  1, q, 2, s, i, 54, e, 333.
########################################################

但是,我尝试实现连接两个不同大小的数组的功能,例如:{1, 2, 3, 4, 5} 和 {a, n},结果将是:1, a, 2, n, 3, 4, 5 但是 程序开始抛出一个我无法修复的错误:“索引超出数组范围。”

    void ArrCon(string[] Arr , string[] Arr2)  // Метод для соединения двух массивов
    {
        string str = " ";                      // переменная для соединения символов двух массивов

        if (Arr.Length > Arr2.Length)          //Если размер первого массива превышает размер второго
        {
            for (int j = 1; j < Arr.Length; j++)
            {
                str += Arr[j];
                str += ", ";
                
                if (j > Arr2.Length)           // когда шаг больше размера (ОШИБКА ЗДЕСЬ)    
                {
                    for (int f = j + 1; f < Arr.Length; f++)
                    {
                        str += Arr[f];

                        if (Arr.Length == f)
                        {
                            str += ". ";
                            break;
                        }

                        str += ", ";
                    }
                }
                str += Arr2[j];
                str += ", ";
            }

            Console.WriteLine("\n---------------------------------------------------------");
            Console.WriteLine($"\nСоединение двух массивов: {str}");
        }

        else if (Arr.Length < Arr2.Length) //Если размер второго массива превышает размер первого 
        {
            //по аналогии с первым случаем
        }

        else if (Arr.Length == Arr2.Length) //Если массивы равны
        {
            for (int j = 1; j < Arr2.Length; j++)
            {
                str += Arr[j];
                str += ", ";
                str += Arr2[j];
                if (Arr2.Length == j + 1)
                {
                    str += ". ";
                    break;
                }
                str += ", ";


            }
            Console.WriteLine("\n---------------------------------------------------------");
            Console.WriteLine($"\nСоединение двух массивов: {str}");
        }

    }

错误是指带有以下代码的行:(str += Arr2[j];在代码本身中,此位置标有注释)。由于某种原因,程序没有看到条件if (j > Arr2.Length)并继续进一步运行,这当然会报错:

########################################################
Введите количество элементов для первого массива: 5
Введите элементы для массива:
Элемент 1 = 1
Элемент 2 = 2
Элемент 3 = 3
Элемент 4 = 4
Элемент 5 = 5

Массив: 1       2       3       4       5
---------------------------------------------------------

Введите количество элементов для второго массива: 2
Введите элементы для массива:
Элемент 1 = а
Элемент 2 = п

Массив: а       п
Необработанное исключение: System.IndexOutOfRangeException: Индекс находился вне границ массива.

程序在下一步停止: 1, a, 2, n, 3,

我寻求帮助来解决这个问题。if (j > Arr2.Length) 条件中的代码也可能不正确,因为 该程序没有进入它,我无法检查这一刻。

c#
  • 1 个回答
  • 10 Views
Martin Hope
perdo
Asked: 2022-07-28 06:24:19 +0000 UTC

C#。其他问题

  • 1

这可能是你见过的最愚蠢的问题,但仍然如此。问题是 else 语句在它前面的 if 评估为 true 并被多次打印时触发。我猜它重复多次的原因是什么,但为什么每次都会触发?我可以删除 else 并忘记,因为没有必要显示消息“没有这样的元素”,但这个问题只是困扰。如何实现正确执行?

int[] arr = new int[10];
Random rnd = new Random();

Console.WriteLine("Массив из 10 рандомных элементов:");
for (int i = 0; i < arr.Length; i++)
{
arr[i] = rnd.Next(-200, 200);
Console.Write("{0,4} ", arr[i]);
}

Console.WriteLine("\n-------------------------------------------------------");
Console.WriteLine("Все элементы массива, оканчивающиеся нулем:");
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] % 10 == 0)
Console.Write("{0,4} ", arr[i]);
else
Console.Write("Таких элементов нет");
}

输出到控制台:

Массив из 10 рандомных элементов:
  92  -93  194 -166   60  143  -14  -80 -122   47
-------------------------------------------------------
Все элементы массива, оканчивающиеся нулем:
Таких элементов нетТаких элементов нетТаких элементов нетТаких элементов нет  60 Таких элементов нетТаких элементов нет -80 Таких элементов нетТаких элементов нет
c#
  • 1 个回答
  • 10 Views
Martin Hope
perdo
Asked: 2022-07-26 00:17:11 +0000 UTC

从#。用实数值x(22≤x<23)填充数组

  • 0

需要随机填充15个元素的数组:用实值x(22 <= x < 23),也就是说,据我了解,应该显示类型的数字:22.1、22.4、22.9 .. .

请告诉我如何解决这个问题。我尝试使用 NextDouble 生成器,但它只给出错误。

c#
  • 2 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5