RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

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

Str's questions

Martin Hope
Str
Asked: 2020-04-22 05:38:49 +0000 UTC

查找数组中的所有元素

  • 0

我在网上找不到的问题(这并不奇怪,因为很多人使用现成的方法)是如何使用二进制搜索找到数组中所有相同的元素?如果我将二进制搜索限制for-ом在找到的第一个元素并通过提高左“底部”直到返回“”来“遍历”二进制搜索,那么二进制搜索是否会是二进制的нет найденных элементов?

或者它可以以其他方式完成而不诉诸于for?告诉!

搜索最左边的元素 -

public static int binary_search_leftmost(int[] A,int n,int T) {
        int L = 0;
        int R = n;
        while (L < R) {
            int m = ((L + R) / 2);
            if (A[m] < T){
                L = m + 1;
            } else {
                R = m;
            }
        }
        return L;
}
    public static void main(String [] args) {
        int[] arr = {1,2,3,4,5,5,5,5,6,6,6,7,7,7,7,8,8,8,8,9,9,9};
        System.out.println(binary_search_leftmost(arr,17,5));
    }

添加 -

static int binarySearchR(String[] arr, String x) 
    { 
        int l = 0, r = arr.length - 1; 
        while (l < r) { 
            int m = l + (r - l) / 2; 

            int res = x.compareTo(arr[m]); 

            if (res == 0) 
                return m; 

            if (res < 0) 
                r = m - 1;

            else
                 l = m + 1; ; 
        } 

        return -1; 
    } 

我不明白如何修复它以便找到最右边的元素..如果元素是2,那么它会找到第二个,但是如果有3个或更多元素,那么该方法仍然只找到第二个元素第一个 .. 例如:{"aa","aa","aa","aa","bb","bb"}- 该方法查找索引为 1 的元素,需要查找索引为 3 的元素

java
  • 1 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-04-21 02:53:27 +0000 UTC

构造函数名称[关闭]

  • -2
关闭。这个问题需要澄清或补充细节。目前不接受回复。

你想改进这个问题吗?通过编辑此帖子添加更多详细信息并澄清问题。

2年前关闭。

改进问题

自我开发的问题 - 有两个具有不同方法的类,它们从第三个类“调用”来自网页的一组单词,用于通过方法检查。

问题是为什么在一类中这种方法不会引发警告 -

public Analyze(String string) throws IOException {
        arr = new DPage(string).getWords();
    }

在另一篇文章中写道,此方法具有构造函数名称和警告标志。这是为什么?

java
  • 1 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-04-14 00:43:41 +0000 UTC

请帮我修复并找到错误。

  • -1

大家好,大体上是这样的。我们需要编写代码,根据 Shell 算法对数组进行排序,并将单词的原始位置存储在未排序的数组中,以便可选地指示单词在排序前占据的位置。

引入一维数组并创建包含单词位置的二维数组的代码 -

 public static String [][] sortInZweid(String[] array){
        String[][] arrN = new String [array.length][2];
        int counterForIndex = 1;
        int counterForString = 0;
        for(int i = 0; i < array.length; i++){
                arrN[i][counterForString] = array[i];
                arrN[i][counterForIndex] = Integer.toString(i);
        }
        return arrN;
     }
Код, который нужно переписать чтобы метод принимал двумерный массив и сохранял после сортировки позицию слова в несортированном массиве. Например - 
                                           "Borija" , "1";
                                           "Dima" , "2";
                                           "Anna" , "3";
После сортировки должно выглядеть так -    "Anna" ,"3";
                                           "Borija" , "1";
                                           "Dima" , "2";

要重写的代码 -

int sort(String [] arr) {
        for (int gap = arr.length / 2; gap > 0; gap /= 2) {
            for (int i = gap; i < arr.length; i += 1) {
                final String temp = arr[i];
                int j;
                for (j = i; j >= gap && arr[j - gap].compareTo(temp) > 0; j -= gap) {
                    arr[j] = arr[j - gap];
                }
                arr[j] = temp;
            }
        }
        return 0;
    }

我重写的代码,但它不能正常工作,我已经解析了一整天,但我不明白为什么 -

int sort(String [][] arr) {
        for (int gap = arr[0].length / 2; gap > 0; gap /= 2) {
            for (int i = gap; i < arr[0].length; i += 1) {
                final String temp = arr[i][0];
                final String index = arr[i][1];
                int j;
                for (j = i; j >= gap && arr[j - gap][0].compareTo(temp) > 0; j -= gap) {
                    arr[j] = arr[j - gap];
                }
                arr[j][0] = temp;
                arr[j][1] = index;
            }
        }
        return 0;
    }
java
  • 3 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-04-12 23:21:35 +0000 UTC

修改String数组的排序方法

  • 0

请帮助我改进该方法,使其排序不是 int,而是 String 数组。ShellSort - 调用此方法。如果总的来说代码或多或少清晰,那么在 for 行中(j = i; j >= gap && arr[j - gap] > temp; j -= gap)我无法弄清楚如何重写。

 int sort(int arr[]) 
        { 
            int n = arr.length; 
                for (int i = gap; i < n; i += 1) { 
                    int temp = arr[i]; 
                    int j; 
                    for (j = i; j >= gap && arr[j - gap] > temp; j -= gap) 
                        arr[j] = arr[j - gap]; 
                    arr[j] = temp; 
                } 
            } 
            return 0; 
        }
java
  • 1 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-04-08 22:32:41 +0000 UTC

难以在大会中创建 (for) 语句

  • 0

我将 R4 寄存器设置为 4221,R5 寄存器的值为 0。如何使 R5 寄存器不断加到 R5 寄存器中,直到达到 R4 寄存器的值?

ассемблер
  • 1 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-04-07 05:16:19 +0000 UTC

需要更正代码“数组搜索”

  • 1

大家好,总的来说,我有这样的问题..我需要计算两个字符串的数组中的最小距离。例如,如果数组中没有重复的字符串,这对我很有效

String[] arr = {"12","111", "trubask", "truba","111", "jopa", "moin"};

但如果

   String[] arr = {"12","111", "trubask", "truba","111", "jopa", "moin", "111"};

那么距离是从1到最后一个元素计算的,但是你需要从1到4..如何改变这个?编码

               for(int i = 0; i < arr.length; i++) {
                for (int j = i + 1; j < arr.length; j++) {
                    if(string1.equals(arr[i]) && string2.equals(arr[j])) {
                        wert1 = true;
                        wert2 = true;
                        pl1 = i;
                        pl2 = j;
                     }
                   }
                 }
              distance = pl2 - pl1;

如何将计数限制为包含我要查找的元素的第一个字段?

java
  • 1 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-03-23 01:52:43 +0000 UTC

从另一个类调用数组

  • 1

通过另一个类中的 get 方法调用来处理数组时,我在哪里犯了错误?谢谢你。

一年级 -

public class Getmethoden {
    public int[] test = {1,2,3,7,6,5,4};

    public int[] getTest() {
        return test;
    }
    public void setTest(int[] test) {
        test = test;
    }
}

二等——

public class Prüfung {

    private final int gesucht = 5;

    public static void main(String[] args) {
        Getmethoden.getTest();
        for(int i = 1; i < getTest.length;i++){
// немного кода
        }
    }
}
java
  • 1 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-03-18 03:31:32 +0000 UTC

我做错了,求助

  • -1

告诉我错误,为什么代码不起作用代码遍历数组并找到相同单词的总数,哪些是最多的

public static void main(String[] args) {
    String [] Arr = {"abc", "ab", "abcd", "abc", "bla", "blabla", "blablabla", "bla.", "bla,", "bla!"};
    String n = mostFrequent(Arr);
    System.out.println(n);
}

public static String mostFrequent(String [] Arr) {
    String oftGet = "";
    //String [] Arr = {"bla", "bla", "net"};
    int counter = 0;
    int counter2 = 0;
    for(int i = 0; i < Arr.length; i++) {
        for (int j = 0; j < Arr.length; j++) {
            if (Arr[i].equals(Arr[j])) {
                counter++;
            }
        }
        if(counter2 < counter) {
            counter2 = counter;
            oftGet = Arr[i];
            counter = 0;
        }
    }
    return oftGet;
}
java
  • 1 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-01-02 02:24:13 +0000 UTC

查找代码中的错误

  • -1

有必要在数组中找到:不带零的最大长度,最大长度的演算的第一个元素的索引。

 int[] luecke = {1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,0, 1, 0};
        int index = 0;
        int anzahl = 0;
        int maxLength = 0;
        int indexm = 0;
        for(int i = 0; i < luecke.length; i++){
            if(luecke[i] != 0){
                for(int j = 0; j < luecke.length; j++){
                    if(luecke[j] > 0 && luecke[j - 1] == 0 && luecke[j] !=luecke[0]){
                        index = luecke[j];
                        anzahl++;
                    } else if(luecke[j] > 0){
                        anzahl++;
                    } else if(luecke[j] > 0 && luecke[j + 1] == 0){
                        maxLength = anzahl;
                        anzahl = 0;
                        indexm = index;
                        index = 0;
                    }
                }
            }
        }
    }

答案就在这里——长度为6,索引为7。

java
  • 1 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-12-31 23:43:36 +0000 UTC

理解for循环的执行逻辑

  • 0

一切都来了,我有一个问题:我无法理解这个循环的逻辑,或者更确切地说它的输出。

int[] arr = {6, 3, 4, 2, 6, 1, 3, 5};
for (int i = 0; i < arr.length; i = i + 2) {
      arr[i]--;
      System.out.println(arr[i]);
}

输出将是:5,3,5,2。为什么又出现了5?

java
  • 1 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-12-24 23:06:41 +0000 UTC

为什么会出错 1?

  • 1

晚上好,为什么显示不正确?错误在哪里?不会向后覆盖数组!

int[] err = {1,2,3,4,5};
        int g = 0;
        int[] arr = new int[err.length];
        for(int i = 5; i > 0; i--){
                arr[g] = err[err.length - i];
                g++;
        }
        for(int j = 0; j < 5; j++){
            System.out.println(arr[j]);
        }
java
  • 2 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-12-23 19:09:57 +0000 UTC

数组搜索(手动)

  • 0

大家好,我有这样一个问题,如果我有一个几乎所有相同数字的数组,例如17和另一个,例如c 3,({17,17,3,17,17,17})那么如何在屏幕上显示一个与所有数字不同的数字?如果我知道每个人都不同或相同的数字的具体位置,我可以这样做,但如果数字是随机写的,那么没有.. P.C. 请不要使用自动方法在数组中搜索,因为 我的目标是学习如何正确地制作算法和思考,而不是运行已经准备好的东西。任何想法也可以。谢谢

java
  • 1 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-12-20 23:03:53 +0000 UTC

重复行多次

  • 1

通常,有一种方法采用两个参数,例如方法

B(int i, String str)

其中变量 i 是 str 的重复次数,即如果 i == 3 且 str == "N",则该方法将返回下一个 "NNN"。

我不明白如何做到这一点,有人可以帮助我吗?

java
  • 2 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-12-10 02:59:18 +0000 UTC

方法不能正常工作

  • -4

伙计们,帮帮我,这些方法由于某种原因无法正常工作。Author 和 Message 类的 Getter 和 Setter 工作正常,测试通过 方法头方法错误说明

import java.util.Arrays;

public class Callboard {

private Author [] authors;
private Message [] messages;

public Callboard() {
authors = new Author [0];
messages = new Message [0];
}
Метод тоже не работает вместо true выдает false
/* --Метод SaveMassage сохраняет отправленное сообщение и возвращает true обратно если пользователь был ранее зарегистрирован,
если нет, то метод не сохраняет сообщение и возвращает false; */
public boolean saveMassage(Message message) {
return message == null ? false : regUser(message.getAuthor());
}


При регистрации нового пользователя должно выводить true, а выводит false.
/* --Метод regUser сохраняет отправленного пользователя и возвращает true, если ни один другой пользователь с подобным именем
не был зарегистрирован до этого. В противном случае метод не сохраняет пользователя и возвращает false. */
public boolean regUser(Author author) {
Author findUser = author == null ? null : findUser(author.getName());
if (findUser == null) return false;
else {
authors = Arrays.copyOf(authors, authors.length+1);
authors[authors.length-1] = findUser;
return true;
}
}

При вызове пользователя ранее зарегистрированного выводит null, но не должно потому-что он уже зареган
/* -- Метод findUser ищет пользователя с заданным именем зарегистрированного ранее" на доске обьявлений" и возвращает этого пользователя.
Если пользователь с таким именем не существует, то метод возвращает null обратно. */
public Author findUser(String name) {
return Arrays.stream(authors)
.filter(author->author.getName().equals(name))
.findAny().orElse(null);
}
метод работает не правильно, должно сохранено, например, 3 сообщения, а выводит 0.
/* -- Метод findMassages для поиска сообщений. Этот метод возвращает массив хранимых сообщений, чья тема или сообщение содержит
переданную строку поиска (в качестве подстроки)(полу-String). Написание с большой или маленькой буквы должно быть проигнориванно.
Если ни одно сообщение не удовлетворяет ранее упомянотому критерию, то метод должен вернуть пустой массив(не null)(Просто пустой массив). */
public Message[] findMassages(final String str) {
return Arrays.stream(messages)
.filter(message->message.getTheme().toLowerCase().contains(str.toLowerCase()))
.toArray(Message[]::new);
}

Методы почему-то не подсчитывают количество пользователей и сообщений, но почему?
/* -Методы возвращают количество сообщений соответственно зарегистрированных пользователей. */
public int cMassages() {
return messages.length;
}

public int cAutors() {
return authors.length;
}
}
java
  • 1 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-12-09 05:52:09 +0000 UTC

将代码中的 ArrayList 转换为常规数组

  • 0

先生们晚上好,问题是如何重新制作我的代码,使其根本不包含 ArrayList,而是使用常规数组。

public class Callboard {
    private ArrayList<Author> authors;
    private ArrayList<Message> messages;

    public Callboard() {
        authors = new ArrayList<>();
        messages = new ArrayList<>();
    }

    /* --Метод SaveMassage сохраняет отправленное сообщение и возвращает true обратно если пользователь был ранее зарегистрирован,
        если нет, то метод не сохраняет сообщение и возвращает false; */

    public boolean SaveMassage(Message message) {
        if (message == null) return false;
        for (Author _author : authors) {
            if (_author.getName().equals(message.getAuthor().getName())) {
                messages.add(message);
                return true;
            }
        }
        return false;
    }

    /* --Метод regUser сохраняет отправленного пользователя и возвращает true, если ни один другой пользователь с подобным именем
        не был зарегистрирован до этого. В противном случае метод не сохраняет пользователя и возвращает false. */

    public boolean regUser(Author author) {
        if (author == null) return false;
        for (Author _author : authors) {
            if (_author.getName().equals(author.getName())) {
                return false;
            }
        }
        authors.add(author);
        return true;
    }

    /* -- Метод findUser ищет пользователя с заданным именем зарегистрированного ранее" на доске обьявлений" и возвращает этого пользователя.
        Если пользователь с таким именем не существует, то метод возвращает null обратно. */
    public Author findUser(String name) {
        if (name.length() < 1) return null;
        for (Author _author : authors) {
            if (_author.getName().equals(name)) {
                return _author;
            }
        }
        return null;
    }

    /* -- Метод findMassages для поиска сообщений. Этот метод возвращает массив хранимых сообщений, чья тема или сообщение содержит
        переданную строку поиска (в качестве подстроки)(полу-String). Написание с большой или маленькой буквы должно быть проигнориванно.
        Если ни одно сообщение не удовлетворяет ранее упомянотому критерию, то метод должен вернуть пустой массив(не null)(Просто пустой массив). */

    public ArrayList<Message> findMassages(String str) {
        ArrayList<Message> result = new ArrayList<>();
        for (Message message : messages) {
            if (message.getTheme().toLowerCase().contains(str.toLowerCase())){
                result.add(message);
            }
        }
        return result;
    }

    /* -Методы возвращают количество сообщений соответственно зарегистрированных пользователей. */

    public int СMassages(){
        return messages.size();
    }
    public int CAutors(){
        return authors.size();
    }
}
java
  • 1 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-11-24 11:25:36 +0000 UTC

传递一个二维数组

  • 1

问题是这样的,给定一个 8 个皇后的问题和一个方法

public static boolean reschenie(boolean[][] pole)

通常,此方法描述一个 n × n 字段,如果是 8 × 8,则将放置 8 个皇后,如果它们不“击败”对方,则该方法将返回 true,否则返回 false(如果在至少一个可以被另一个女王击败)。

您可以使用 for 运算符和其他简单的运算符,但不能使用现成的算法(这就是我选择 for 遍历数组的原因)。

问题是 - 如何检查二维数组?

PS我了解如何传递一维数组,但是如何在方法中使用二维数组呢?

请告诉我...

java
  • 1 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-11-22 09:33:17 +0000 UTC

写出正确的计算

  • 1

如果正确写入,如何在数组 (3, -1, 1, -5,) 中有这样的差异时返回 true?也就是说,如果它下降了,例如,一个数字高于前一个,而下一个字段低于这个数字,结果却是高于前一个!

public class MyClass {
    public static void main(String args[]) {
    int[] a = {10, 3, -1, 1, -5, -37};
      boolean g = false;
      for (int i = 0; i < a.length; i++) { 
            for (int k=i+1;k < a.length; k++) {
                if ((k!=i && a[k] > a[i]) && (k!=i && a[k+1] > a[i+1]) && (k!=i && a[k+2] > a[i+2])) {
                    g = true; }
        }
      }
      System.out.println(g);
    }
}
java
  • 1 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-11-21 09:55:56 +0000 UTC

代码中的逻辑错误?

  • 0

在此处输入图像描述
请帮助我更正代码以使其正常工作-

Определения: (Идет работа с массивом от первого до последнего поля)
             Массив -  
             Резко падает = 88,55,33,22,1; (может быть массив в два поля = 1,4);
             Резко возрастает = 1,15,33,44; (может быть массив в два поля = 5,2);
             Монотонно возрастает = 1,3,15,15,33,55;
             Монотонно падает = 88,55,33,33,22,1; 

Задание:
if toschka == true && vvod == резко возрастает, End = true;
if toshka == false && vvod == резко падает, End = true;
if (toschka == false || toschka == true) && (vvod == null || vvod.length == 0), End = false;
if (toschka == false || toschka == true) && vvod.length == 1, End = true;

我的代码,我在哪里搞砸了?

  public static boolean End(int[] vvod, boolean toschka) {
        boolean Otvet = false;
        boolean dvoinoeVosvr = false;
        boolean vozvrastanie = false;
        int a = 0;
        while (a < vvod.length) {//Pruef ob monoton steigend
            for (int j = 0; j < vvod.length; j++)
                for (int k = j + 1; k < vvod.length; k++) {
                    if (k != j && vvod[k] == vvod[j]) {
                        dvoinoeVosvr = true;
                        break; 
                    }
                }
            for (int i = 0; i < vvod.length - 1; i++) {
                if (vvod[i] > vvod[i + 1]) {
                    vozvrastanie = false;
                    break;
                } else {
                    vozvrastanie = true;
                    break;
                }
            }
            a++;
        }
      if (vvod == null && vvod.length == 0) {
        Otvet = false;
    } else if (vvod.length == 1){
        Otvet = true;
    } else if (toschka == true && vozvrastanie == true){
        Otvet = true;
    } else if (toschka ==  false && vozvrastanie == false) {
        Otvet = true;
    }
        return Otvet;
    }
}

在截图中,方法和方法变量的名称已更改,代码相同

java
  • 2 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-11-19 07:09:20 +0000 UTC

将数组写入数组的限制

  • -1

我不得不稍微调整一下代码,以便在上传到大学网站时它是不一样的.. 一般来说,在这里添加的位置,以便使用两个具有一个字段的数组,返回的不是空值,而是值这两个领域?

                    public static char[] e(char[] q, char[] n){ 
                         int  perem = 0,
                         int lennn = q.length + n.length;
                    char[] ressu = new char[lennn];
                    for (int i = 0; i < lennn-2; i++) {
                        if (q.length > i) {
                            ressu[perem++] = q[i];
                        }
                        if (n.length > i) {
                            ressu[perem++] = n[i];
                        }
                    }
                    return ressu;
    }
java
  • 2 个回答
  • 10 Views
Martin Hope
Str
Asked: 2020-11-19 05:15:06 +0000 UTC

返回空数组

  • 0

如何在方法中返回一个空数组?

java
  • 1 个回答
  • 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