当前位置: 首页 > 知识库问答 >
问题:

我的解决方案中是否存在逻辑流问题?

丰超
2023-03-14

我是一个非常新的学生。我有一个编码练习,我一直在努力完成,我认为我的解决方案是功能性的,但是我得到了意想不到的结果。我在想是不是我的逻辑有问题?

赋值:编写一个名为SumFirstAndLastDigit的方法,其中有一个类型为int的参数,称为number。

该方法需要使用循环找到传递给该方法的参数编号的第一位和最后一位,并返回该编号的第一位和最后一位的总和。

如果数字为负数,则方法需要返回-1来指示无效值。输入/输出示例

>

  • SumFirst和LastDigit(252);→ 如果返回4,第一个数字是2,最后一个数字是2,这给了我们2,和是4。

    SumFirstAndLastDigit(257);→应该返回9,第一个数字是2,最后一个是7,这给了我们2 7,总和是9。

    SumFirst和LastDigit(0);→ 应该返回0,第一个数字和最后一个数字都是0,因为我们只有1个数字,这给了我们0,和是0。

    SumFirst和LastDigit(5);→ 应该返回10,第一个数字和最后一个数字是5,因为我们只有1个数字,这给了我们5,和是10。

    SumFirst和LastDigit(-10);→ 应该返回-1,因为参数为负,需要为正。

    注意:SumFirst和LastDigit方法需要定义为public static,就像我们到目前为止在本课程中所做的那样。

    注意:不要向解决方案代码中添加main方法。

    以下是我的想法(我只包括了方法本身):

    public static int sumFirstAndLastDigit (int number) {
    
        if (number < 0) {
        return -1;
    } else if (number <= 9) {
        number += number;
        return number;
    }
    
    int num = number;           
    int sumFirstAndLast = 0;    
    
    while (num > 0) {
        int useDigit = (num % 10);
    
        if ((num == number) || ((double)num < 1)) {
            sumFirstAndLast += useDigit;
        }
        num = num / 10;
    } return sumFirstAndLast;
    }
    

    我认为问题可能是while循环中的if语句——但我不确定。我希望它检查num是否等于传递给该方法的原始数字,并检查num在while循环中运行了几次之后,是否小于1(这就是为什么我将其转换为double)

    当我写出每个循环应该如何运行时,看起来它会工作,但是我得到了不正确的输出。

    任何帮助,批评,经验法则等都非常感谢。提前感谢。

  • 共有1个答案

    傅正阳
    2023-03-14

    你可以做这样的事

    public static int sumFirstAndLastDigit (int number) {
            int first = number; 
            while (first >= 10) {
                first /= 10;
            } 
    
            int last = number % 10;
            return (first + last) >= 0 ? (first + last) : -1;
        }
    

    它从输入中获取第一个和最后一个数字,并将它们相加,然后在返回中检查它是否为负数,然后返回-1。

     类似资料:
    • 请任何一个建议我对我的Android应用程序的逻辑怀疑。 我的应用程序不需要注册即可使用。但是我需要向所有用户发送推送通知(比如GCM)。所以我制作了一个数据库表,如下所示 因此,逻辑如下 现在的问题是 情况1:当用户在手机中“清除数据”并重新启动应用程序时,将发生另一个注册过程。因此,当我们发送消息推送时,用户将获得多次(自上次gcmrecd出现在我们的数据库中) 因为它是一个简单的新闻应用程序

    • 问题内容: 是否可以用Java对文件系统进行XA事务访问?我想在事务范围内操作文件,并且我的事务必须通过JTA参与分布式事务(因此我认为文件系统需要作为XAResource进行访问)。我不需要支持细粒度的读/写文件访问;将每个文件都视为记录足以满足我的需求。 有谁知道一个开源项目已经做到了吗?我不想仅仅为了弄清楚已经完成而实施这种混乱。 我听到一些谣言称JBoss Transcations将增加对

    • 我在2020年5月19日做了Leetcode挑战,这是在线股票跨度。它的描述是这样的: 编写一个StockSpanner类,它收集某一股票的每日报价,并返回该股票当日价格的跨度。该股票今日价格的跨度定义为该股票价格小于或等于今日价格的最大连续天数(从今天开始向后)。 我使用了一种使用堆栈的方法,该堆栈保存大小为2的int数组,其中索引0存储价格,索引1存储该价格的跨度。我提交并通过了,但只击败了大

    • 本文向大家介绍JVM Metaspace内存溢出问题解决方案,包括了JVM Metaspace内存溢出问题解决方案的使用技巧和注意事项,需要的朋友参考一下 一. 现象 前段时间公司线上环境的一个Java应用因为OOM的异常报警,导致整个服务不可用被拉出集群,本地模拟重现的现象如下: 当时的解决方案是增加metaspace的容量:-XX:MaxMetaspaceSize=500m,从原来默认的256

    • 下面是问题的链接:SPOJ-ACTIV 我想出了这个问题的重现如下: 其中next()查找具有开始时间的活动的索引 这是我的java解决方案,虽然它通过了SPOJ工具包的许多测试用例,但是它确实为一些提供了WA。我的概念/解决方案有什么问题?

    • 10.10. 公共问题的解决方案 10.10.1. 对一个特定的 DataSource 使用错误的事务管理器 开发者需要按照需求仔细地选择正确的 PlatformTransactionManager 实现。理解Spring的事务抽象如何与JTA全局事务一起工作是非常重要的。使用得当,就不会有任何冲突:Spring仅仅提供一个直观的、可移植的抽象层。 如果你使用全局事务,你 必须 为你的所有事务操作