RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

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

Vitaliy Tretyakov's questions

Martin Hope
Vitaliy Tretyakov
Asked: 2020-07-08 16:45:42 +0000 UTC

使用反向字母加密问题中的字符替换无法正常工作

  • 0

有一个加密问题,其中包含在字符串中的每个英文字母字符都必须替换为其“镜像”,即 从头到尾相同的数字 - a→z, b→y, c→x, ... x→c, y →b, z→a。

我试图通过字符串在没有数组或列表的情况下执行此操作 - 结果,替换仅适用于字母表的最后一部分,即 会将字符从n更改z为所需的字符,将字符从a更改为m- 不,使它们保持原始形式。

public class Main {
    public static void main(String[] args) {
        String alphabet = "abcdefghijklmnopqrstuvwxyz";
        Scanner scanner = new Scanner(System.in);
        String initialPhrase = scanner.nextLine().trim();
        String encryptedPhrase = "";

        for (int i = 0; i < initialPhrase.length(); i++) {
            encryptedPhrase += String.valueOf(encrypt(initialPhrase.charAt(i), alphabet));
        }

        System.out.println(encryptedPhrase);
    }

    public static char encrypt(char ch, String str) {
        for (int i = 0; i < str.length(); i++) {
            if (ch == str.charAt(i)) {
                ch = str.charAt(str.length() - i - 1);
            }
        }
        return ch;
    }
}

谁能解释为什么该方法encrypt(ch, str)仅适用于字母表的后半部分?

java
  • 1 个回答
  • 10 Views
Martin Hope
Vitaliy Tretyakov
Asked: 2020-06-17 16:55:17 +0000 UTC

检查三次方程的根的任务,Java

  • 0

我在 Hyperskill 网站上解决难题。在解决一个的过程中,出现了“代码的清洁度”的问题。

我创建了一种方法来检查x三次方程的根:

static boolean checkRoot(int a, int b, int c, int d, int x) {
    if (a * x * x * x + b * x * x + c * x + d == 0) {
        return true;
    } else {
        return false;
    }
}

在解决的过程中,该方法是正常使用的,但我得到一个备注:

返回布尔值时避免 if 不必要的..then..else 语句

一旦我开始用 else 删除看似不必要的部分,就会立即弹出一个错误:

编译错误 Main.java:52: 错误:缺少返回语句 } ^1 错误

我不明白 - 这是系统的错误,你需要写信给支持,或者真的,方法

static boolean checkRoot(int a, int b, int c, int d, int x) {
    if (a * x * x * x + b * x * x + c * x + d == 0) {
        return true;
    } 
}

设置不正确?

java
  • 1 个回答
  • 10 Views
Martin Hope
Vitaliy Tretyakov
Asked: 2020-10-31 16:23:03 +0000 UTC

列乘法是缩进的问题。爪哇

  • 2

任务是将列中的两个数字相乘。一切都变了,除了压痕,一切看起来都很漂亮。

从主类 LongMultiplication.java:

package info.sjd;

import info.sjd.service.*;

public class LongMultiplication {

    public static void main(String[] args) {

        LongMultiplicationService.printLongMultiplication(1234, 123);
    }
}

我从服务类调用方法:

package info.sjd.service;

public class LongMultiplicationService {
    // Задаем отступ слева
    private static int shiftNumber = 20;

    //  Метод возвращает более длинное из двух чисел
    public static int findLongerNumber(int firstNumber, int secondNumber) {
        int longerNumber = 0;
        if (String.valueOf(firstNumber).length() < String.valueOf(secondNumber).length()) {
            longerNumber = secondNumber;
        } else {
            longerNumber = firstNumber;
        }
        return longerNumber;
    }

    //  Метод возвращает более короткое из двух чисел
    public static int findShorterNumber(int firstNumber, int secondNumber) {
        int shorterNumber = 0;
        if (String.valueOf(firstNumber).length() > String.valueOf(secondNumber).length()) {
            shorterNumber = secondNumber;
        } else {
            shorterNumber = firstNumber;
        }
        return shorterNumber;
    }

    // Метод печатает нужное количество нужных символов подряд без перевода строки в конце
    public static void repeatNSymbols(int n, String symbol) {
        String resultString = "";
        for (int i = 0; i < n; i++) {
            resultString += symbol;
        }
        System.out.print(resultString);     
    }

    // Метод печатает нужное количество нужных символов подряд с переводом строки в конце
    public static void repeatNSymbolsNewLine (int n, String symbol) {
        String resultString = "";
        for (int i = 0; i < n; i++) {
            resultString += symbol;

        }
        System.out.print(resultString); 
        System.out.println("");
    }

    // Метод печатает промежуточные вычисления - произведения первого числа на каждый из разрядов второго числа
    public static void intermediateMultiplication(int firstNumber, int secondNumber) {

        int rightShift = 1;
        while (secondNumber > 0) {
            System.out.println(firstNumber * (secondNumber % 10));
            secondNumber /= 10;
            repeatNSymbols(shiftNumber - rightShift, " ");
            rightShift++;
        }
        repeatNSymbols(1, " ");
    }
    // Метод сводит всё в одну конструкцию
    public static void printLongMultiplication(int firstNumber, int secondNumber) {
        repeatNSymbols(shiftNumber, " ");
        System.out.println(String.valueOf(findLongerNumber(firstNumber, secondNumber)));
        repeatNSymbols(shiftNumber - 1, " ");
        System.out.println("x");
        repeatNSymbols(shiftNumber, " ");
        repeatNSymbols(String.valueOf(findLongerNumber(firstNumber, secondNumber)).length() - String.valueOf(findShorterNumber(firstNumber, secondNumber)).length(), " ");
        System.out.println(String.valueOf(findShorterNumber(firstNumber, secondNumber)));
        repeatNSymbols(shiftNumber, " ");
        repeatNSymbolsNewLine(String.valueOf(findLongerNumber(firstNumber, secondNumber)).length(), "_");
        repeatNSymbols(shiftNumber, " ");
        intermediateMultiplication(findLongerNumber(firstNumber, secondNumber), findShorterNumber(firstNumber, secondNumber));
        repeatNSymbolsNewLine(String.valueOf(String.valueOf(firstNumber * secondNumber)).length(), "_");
        repeatNSymbols(shiftNumber - (String.valueOf(findLongerNumber(firstNumber, secondNumber)).length() - String.valueOf(findShorterNumber(firstNumber, secondNumber)).length()) - 1, " ");
        System.out.println(firstNumber * secondNumber);
    }
}

我很困惑,无法弄清楚如何为任意数字组织行的左移。到目前为止,事实证明它是为特定的一对“定制”的——只有这样它看起来才“漂亮”。

如何使用两个数字的长度和其中一个数字的中间乘积对另一个数字的每个数字进行操作,以使其在一般情况下对于任意长度的数字变得美观?

在此处输入图像描述

添加图片以了解问题。那些。现在我刚刚调整了移位以适应 1234x123 的情况,一切看起来都完全正确。但是当其他数字相乘时,不和谐就开始了。

java
  • 1 个回答
  • 10 Views
Martin Hope
Vitaliy Tretyakov
Asked: 2020-07-31 15:08:30 +0000 UTC

过滤字符串中的字符时,从 lambda 表达式引用的局部变量必须是 final 或有效 final

  • 1

我解决了一个问题。通常,必须将初始字符串转换为新字符串,将所有重复字符替换为右括号')',并将所有唯一字符替换为左括号'('。

我的决定:

public class DuplicateEncoder {
  static String encode(String word) {
    String newWord = "";
    char[] chArray = word.toCharArray();
    for (int i = 0; i < word.length(); i++) {
      if (word.chars().filter(num -> num == chArray[i]).count() > 1)
        { newWord = newWord + "("; }
      else 
        { newWord = newWord + ")"; }
    }
    return newWord;
  }
}

它有这个错误:

/workspace/java/src/DuplicateEncoder.java:6: error: local variables referenced from a lambda expression must be final or effectively final
      if (word.chars().filter(num -> num == chArray[i]).count() > 1)
                                                    ^
1 error

如何修复此错误?

java
  • 1 个回答
  • 10 Views
Martin Hope
Vitaliy Tretyakov
Asked: 2020-02-27 21:49:09 +0000 UTC

setText() 中的连接不喜欢

  • 11

作为一个练习,我正在制作一个订购披萨的简单应用程序 - 选择大小(影响价格)加上额外的配料(也影响价格)。

结果,订单金额被敲出:

total.setText(getString(R.string.total_price_output) + String.format("%.02f", calculateTotal()));

这里的 total_price_output 是 strings.xml 中的短语“Total Price: $”,calculateTotal() 方法只计算订单的总成本,同时考虑到尺寸和配料。

一切正常,但 Android Studio 用黄色破折号突出显示这条线,即 该代码不遵循礼貌规则,并给了我这个建议:

不要连接使用 setText 显示的文本。将资源字符串与占位符一起使用。

如何进行?添加一个变量,现在将 setText() 中的任何内容分配给它,然后在该变量上调用 setText()?

java
  • 1 个回答
  • 10 Views
Martin Hope
Vitaliy Tretyakov
Asked: 2020-08-22 00:46:59 +0000 UTC

Win7 中的时间正好损失了 3 个小时。已保存时区

  • 4

背景:

在桌面的 240 GB SSD 上,有一个获得许可的 Windows 7(大约 140 GB)和 Ubuntu 14.04。我决定连接第二台显示器,以方便学习。当然,在系统单元关闭的情况下连接。

结果,Windows 完全停止启动(它在启动一个滑块后进入重新启动),并且 Ubuntu 没有显示任何问题 - 它开始在 2 个显示器上工作,正如我想要的那样。

由于无法通过任何方式恢复 Windows(手似乎从需要的地方开始增长,我可以做点什么),我在将 Ubuntu 更新到 16.04 后再次安装了相同的系统。我还用新的电池更换了主板上的电池。

问题本身:

一切都会好起来的,但在过去的一个月里,我注意到了一件令人不快的小事——经过几天的工作,Windows 的时间刚好过了 3 个小时,而时区被保存了下来。那些。现在我应该在基辅有 19:43,而 Windows 显示 16:43。

要抓住发生这种情况的那一刻 - 到目前为止这是不可能的。

谁能告诉?

windows-7
  • 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