小编Gre*_*ill的帖子

在java实验室中使用While(用户输入无效输入)

我在上课的一部分实验室遇到了一些麻烦,大部分都很容易,但由于某种原因,我的声明并没有按照我的意愿行事.它应该返回无效输入,然后提示用户租用; 但是,它认为每个输入都无效.(应该很容易在代码中看到)我该如何解决这个问题?或者我可以找到这些信息,因为我无法在我的书中找到它.(第二个while循环,第一个工作)

import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.JOptionPane;

public class lab8
{
    public static void main (String[] args)
    {
        int choice;
        String item;
        double costper;
        ArrayList <String> Items = new ArrayList <String> (); 
        Items.add ("computer");
        Items.add ("Monitor");
        Items.add ("Color Printer");
        Items.add ("Color Scanner");
        Items.add ("DVD/CDROM");
        Items.add ("To Quit");

        ArrayList <Integer> Num = new ArrayList <Integer> ();
        Num.add (0);
        Num.add (1);
        Num.add (2);
        Num.add (3);
        Num.add (4);
        Num.add (5);

        System.out.println ("\t\tMy Super Computer Store\n");
        int index=0;
        int endex= 0;
        while (index …
Run Code Online (Sandbox Code Playgroud)

java while-loop

2
推荐指数
1
解决办法
767
查看次数

SQL查找最大值然后查找其出现

我不能让这个工作.我需要先找到假期和病假的最大总和,然后找出哪些员工的假期和病假时间总和.我可以获得168最大值,但不管我如何安排事情,我似乎无法获得符合此标准的员工 - 我只是获得所有员工的完整列表.以下代码是基于班级指导的最后一次尝试.谢谢!

SELECT e.employeeID, SUM(e.vacationhours + e.sickleavehours) AS maxHours
    FROM   humanresources.employee e 
    WHERE  EXISTS (
                   SELECT SUM(e.vacationhours + e.sickleavehours) AS totalhours 
                   FROM   humanresources.employee e) 
    GROUP  BY e.employeeID
Run Code Online (Sandbox Code Playgroud)

sql max sql-server-2008

2
推荐指数
1
解决办法
738
查看次数

Scheme,将lambda作为函数参数传递 - 需要帮助理解args

这是一项家庭作业:

返回一个列表,其中包含满足给定谓词的给定列表的所有元素.例如,

(filter (lambda (x) (< x 5)) '(3 9 5 8 2 4 7)) 
Run Code Online (Sandbox Code Playgroud)

应该返回(3 2 4).

我刚刚开始计划,所以我是一个完整的菜鸟.如果我正确理解了这个函数函数的语法,那么"filter"就是函数,"(lambda(x)(<x 5)"就是参数.这类似于java中的匿名函数吗?

编辑:

我从stackoverflow上的另一篇文章中找到了一些代码.他们直接回答了这个问题:这是他们写的:

   (define (my-filter pred lst)
     (cond ((null? lst) null)
       ((pred (first lst))
          (cons (first lst) (my-filter pred (rest lst))))
       (else (my-filter pred (rest lst)))))
Run Code Online (Sandbox Code Playgroud)

哪个好,哪个有效,但在我使用它之前我想了解它."pred"是一个函数,但在这种情况下,它们正在传递(<x 5)并且它以某种方式接受这个值.我不明白.

有人可以向我解释一下这个程序会发生什么吗?我不明白正在发生的事情背后的逻辑.

scheme arguments

2
推荐指数
1
解决办法
2547
查看次数

光线跟踪计算

我正在尝试做一些涉及光线追踪的计算,但有点困惑.假设我有一个n-by-n图像,包含N个几何图元,l个光源和kxk超级采样.在最坏的情况下,我会计算多少个光线交叉点?如果我在深度d的反射/折射中加入怎么办?

math graphics raytracing

2
推荐指数
1
解决办法
566
查看次数

使用复选框过滤列表

我有一个电影列表以及他们的评级.在我的页面顶部,我有一个表单,其中列出了显示每个可用评级(G,PG-13等)的复选框.一旦用户点击复选框并点击提交,我只想显示所选的电影.

在我的索引方法中,我有一个名为的实例变量@filtered_ratings,它从已检查的电影中收集密钥.我的想法是@movies使用find方法在我的控制器中进行更改,并将键与@filtered_ratings电影列表进行匹配.但是,我认为我一直在做错,因为我无法让它发挥作用.我尝试了几种方法,@movies=Movie.find(params[:id] = @filtered_ratings)但我知道这是不正确的.有什么建议?

ruby checkbox ruby-on-rails find

2
推荐指数
1
解决办法
4935
查看次数

字符串操作中的双重自由错误

如果长字符串通过,则获得以下代码的双倍空闲.我尝试过各种各样的事情.如果我删除了自由线,它会消失.不知道为什么会这样.

void format_str(char *str1,int l,int o) {
    char *s = malloc(strlen(str1)+1);
    char  *s1=s, *b = str1;
    int i=0;
    while(*str1!='\0') {
        i++;
        *s1++=*str1++;

        if(i>=l) {
            if(*str1!=',') {
                continue;
            }
        *s1++=*str1++;
            *s1++='\n';
            for(i=0;i<o;i++) {
                *s1++=' ';
            }
            i = 0;
        }
    }
    *s1 = '\0';
    strcpy(b,s);
    free(s);
}
Run Code Online (Sandbox Code Playgroud)

c string malloc

2
推荐指数
1
解决办法
148
查看次数

在Python中提供全局范围中的一些默认方法的原因是什么?

在全局范围中提供一些默认方法(如len函数)的原因是什么,而不是在实例级别提供它们,例如:

list.len()
Run Code Online (Sandbox Code Playgroud)

代替:

len (list)
Run Code Online (Sandbox Code Playgroud)

我发现像len这样的方法比实例方法更难发现.

这背后有什么理由吗?

python function

1
推荐指数
1
解决办法
211
查看次数

在头文件中的静态成员函数内声明了多少个静态数据实例?

我正在使用在AIX 上编译CppcheckxlC.每个检查器类都派生自一个Check类,其构造函数负责在全局静态列表中注册该类型的检查器.

这是相关代码的相关部分(文件名链接到Github上的完整源代码):

check.h

class Check {
public:
    Check() {
        instances().push_back(this);
        instances().sort();
    }
    static std::list<Check *> &instances() {
        static std::list<Check *> _instances;
        return _instances;
    }
    // ...
};
Run Code Online (Sandbox Code Playgroud)

checkbufferoverrun.h

class CheckBufferOverrun: public Check {
    // ...
};
Run Code Online (Sandbox Code Playgroud)

checkbufferoverrun.cpp

// Register this check class (by creating a static instance of it)
namespace
{
CheckBufferOverrun instance;
}
Run Code Online (Sandbox Code Playgroud)

注意_instances静态变量是如何static文件中的函数内声明的(没有相应的check.cpp文件).编译时g++,编译器和链接器协同工作以确保只有一个静态instances()函数的实现,因此只有静态_instances列表的一个实例.在不同.cpp文件中实例化的所有不同检查器类_instances一起注册在同一列表中.

但是,在AIX下 …

c++ static

1
推荐指数
1
解决办法
535
查看次数

计算Scheme中的对数

我有一个作业,我需要计算输入中的对数.

这是我到目前为止:

(define x 0)

(define number-of-pairs
  (lambda (v)
    (if (pair? v)
        (+ x 1)
        (+ x 0))))
Run Code Online (Sandbox Code Playgroud)

然后我用它如下:

(number-of-pairs (cons (cons 'a 'b) 'c))
Run Code Online (Sandbox Code Playgroud)

它应该产生2,但它产生1,因为它只通过函数一次.如果我试试

(number-of-pairs 10)
Run Code Online (Sandbox Code Playgroud)

因为没有对,所以它会产生0.

recursion scheme

1
推荐指数
1
解决办法
1117
查看次数

舍入错误:总和

我有一个大学powerpoint幻灯片声称做了一个继承的总和

1/i ^ 2

索引"i"从0到2260,不同于做相同数字的总和但从最大到最小(从1/2260 ^ 2到1/0 ^ 2).

试图在C上执行此操作,我有以下结果:

Increasing Order Sum: 1.644491e+00.
Decreasing Order Sum: 1.644491e+00.
Relative Error (abs(Incr. Sum - Decr. Sum) / abs(Incr. Sum)) : 2.700465e-15.
Run Code Online (Sandbox Code Playgroud)

有人能解释我为什么会这样吗?我对这些幻灯片没有解决方案.

提前致谢!:)

c math floating-point

1
推荐指数
1
解决办法
118
查看次数