小编Yuv*_*evy的帖子

多态性java思维

考虑以下代码:

public class A{
    private int num;
    public A(int n){
        num = n;
    }
    public int getNum(){
        return num;
    }
    public boolean f(A a){
        return num == a.num * 2;
    }
}
Run Code Online (Sandbox Code Playgroud)
public class B extends A {
    public B(int n) {
        super(n);
    }

    public boolean f(B b) {
        return getNum() == b.getNum();
    }
}
Run Code Online (Sandbox Code Playgroud)
public class Main
{
    public static void main(String[] args){
        A y1 = new B(10);
        B y2 = new B(10);
        System.out.println("y1.f(y2) is: "+y1.f(y2));
    }
}
Run Code Online (Sandbox Code Playgroud)

我不明白的是为什么这个方法 …

java polymorphism

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

使用 ImageMagick 和 C# 比较两个图像

我想比较两个图像,然后生成并保存一个图像,该图像将显示已发现的所有差异,

例如: 在此处输入图片说明

我正在使用 ImageMagick:https : //magick.codeplex.com/ 但他们没有 C# 的完整文档。我只发现:http : //www.imagemagick.org/Usage/compare/

例如,此代码显示 0-1 之间的值,表示图片的相似程度:

    MagickImage img1 = new MagickImage(@"C:\test\Image1.jpg");
    MagickImage img2 = new MagickImage(@"C:\test\Image2.jpg");
    double diff =  img1.Compare(img2,new ErrorMetric());
Run Code Online (Sandbox Code Playgroud)

但是如何使用 ImageMagick 比较图像,然后结果保存在上面的示例和他们的网站中?

更新: 在 dlemstra 的帮助下,我编写了以下代码,并生成了假设显示差异的图像,如上例所示。MagickImage img1 = new MagickImage(@"C:\test\Image1.jpg"); MagickImage img2 = new MagickImage(@"C:\test\Image2.jpg"); MagickImage img3 = new MagickImage(@"C:\test\Image3.jpg"); MagickImage img4 = new MagickImage(@"C:\test\DiffImage.jpg"); MagickImage img5 = new MagickImage(@"C:\test\DiffImage.jpg");

        var imgDiff = new MagickImage();

        img1.Compare(img2, new ErrorMetric(), imgDiff);
        imgDiff.Write(@"C:\test\Diff4.jpg");

        img1.Compare(img3, new ErrorMetric(), imgDiff); …
Run Code Online (Sandbox Code Playgroud)

c# imagemagick image-compression

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

编写打印二叉树和每个节点级别编号的方法

我需要编写一个使用递归打印二叉树的方法.必须是方法的签名

public static void level(Node n)
Run Code Online (Sandbox Code Playgroud)

所以该方法只能获得Node n,不应返回任何内容,只需在屏幕上打印即可.

我的问题是:我需要树上的每个级别将使用他自己的级别编号打印,并且我不知道如何执行此操作,如果我在每次递归开始时将计数整数设置为零.

这是我试过的:

public static void level(Node n)
{
    if (n.getLeftSon() == null && n.getRightSon() == null)
        System.out.println(n.getNumber());
    else
    {
        System.out.println(n.getNumber()); 
        if (n.getLeftSon() != null)
            level(n.getLeftSon());
        if (n.getRightSon() != null)
            level(n.getRightSon()); 
    }

}
Run Code Online (Sandbox Code Playgroud)

它可以打印树,但没有每个节点的级别编号.

好的,所以在论坛的帮助后,我写了这样的方法:

public static void level(Node n)
{
    levelAndNumbers(n,0);
}

private static void levelAndNumbers(Node n, int i)
{
    if (n.getLeftSon() == null && n.getRightSon() == null)
        System.out.println(n.getNumber()+"=>"+i);
    else
    {
        System.out.println(n.getNumber()+"=>"+i); 
        if (n.getLeftSon() != null)
            levelAndNumbers(n.getLeftSon(), i+1);
        if (n.getRightSon() != null) …
Run Code Online (Sandbox Code Playgroud)

java recursion

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

带有条件语句的 Redux useSelector

我需要获取 Redux 存储数据,但并不总是获取每个组件实例化的不同数据。如何在条件语句中使用 useSelector?

组件应该只在渲染某些子组件时才从 store 获取数据,并且每次都根据子组件的不同而获得不同的数据。

local-storage redux redux-persist react-hooks

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

在浏览器中而不是在Visual Studio中打开Visual Studio查询

在Visual Studio 2017中当我单击查询时,它将在浏览器中打开,而不是在Visual Studio中打开(就像以前一样)

如何更改要在Visual Studio中打开的控件?

workitem visual-studio-2017

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

使用java中的对象,创建新对象后无法从main到达他

在主要我写了这两个声明:

Account newAccount = new Account(name);
newAccount.addNewProduct();
Run Code Online (Sandbox Code Playgroud)

这是Account中的构造函数代码和属性:

private final int MAX_PRODUCTS = 50; //Assumes no more than 50 products per customer
private String name;        //Name of the customer
private int sum;            //Sum amount of the purchase
private Product[] productList;      //List of products for a customer 
private int productCounter;         //Counter for number of products

public Account(String name)
{
    Product[] productList = new Product[MAX_PRODUCTS]; //New empty list of products of the customer }
    productCounter = 0;
    sum = 0;
    name = …
Run Code Online (Sandbox Code Playgroud)

java object

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

单击edittext时自动滚动

当用户点击edittext时,我希望屏幕滚动以在屏幕中间显示edittext.所以我试着听touch(setOnTouchListener,也试过onClick和onFocuse)然后smoothScrollTo屏幕将edittext放在屏幕中间.

但出于某种原因,当我将setOnTouchListener添加到edittext时,它根本没有得到焦点.

我需要修理什么?或者我怎样才能做到这一点?

这是setOnTouchListener代码,它导致edittext在单击时不会聚焦:

    et_email.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            ScrollView scrollView = (ScrollView)getView().findViewById(R.id.ScrollViewSendDetails);
            scrollView.smoothScrollTo(0, et_email.getBottom());
            return true;
        }
    });
Run Code Online (Sandbox Code Playgroud)

android scrollview ontouchlistener

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

有没有办法制作无边框的Material ui Card

我已经阅读了文档,可以选择制作variant="outlined"或制作raised

但是有没有办法让汽车完全没有可见的边框?

javascript reactjs material-ui

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

smalltalk吱吱声错误:"undefinedObject的实例不可索引"

我有很多时间了解我在squeak程序中遇到的错误,并且无法修复和调试它.就像在这种情况下:

我写的以下代码是squeak中的smalltalk语言:

initilize

super initialize.
path := OrderedCollection new.
Run Code Online (Sandbox Code Playgroud)

-

drawOn: aCanvas
| colors |
colors := Color wheel: 10.
colors withIndexDo:[:c :i | 
aCanvas fillOval: (self bounds insetBy: self width/25*i+1 )
color: c
].
Run Code Online (Sandbox Code Playgroud)

-

handlesMouseDown: evt
^true.
Run Code Online (Sandbox Code Playgroud)

-

mouseDown: evt

self position: self position + (10@0).
Run Code Online (Sandbox Code Playgroud)

-

startAnimation

    path reset.
    0 to: 9 do: [:i | path add: self position +(0@(10*i))].
    path := path, path reverse.
    self startStepping.
Run Code Online (Sandbox Code Playgroud)

-

step

path size > 0 ifTrue: [self position: path …
Run Code Online (Sandbox Code Playgroud)

smalltalk squeak

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

同步两个线程不同步工作

考虑以下代码:

public class Main {

    public static void main(String[] args){
        MyObject obj = new MyObject();
        Thread1 t1 = new Thread1(100,'#',obj);
        Thread1 t2 = new Thread1(100,'*',obj);

        t1.start();
        t2.start();
    }
}
Run Code Online (Sandbox Code Playgroud)
public class Thread1 extends Thread {

    int myNum;
    char myChar;
    MyObject myObj;

    public Thread1(int num, char c, MyObject obj){
        myNum = num;
        myChar = c;
        myObj = obj;
    }

    public synchronized void run(){
        for(int i = 1; i<myNum; i++){
            if((i%10)==0)
                System.out.println("");
            System.out.print(myChar);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

MyObject类是空类,没有任何空间.我的问题是,为什么同步不起作用,我同时以随机顺序打印'#'和' '而不是一个接一个地打印 …

java multithreading synchronized

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

两个可能的typedef struct语法选项,有什么不同?

我想为链表定义一个结构,从接下来的两个选项中,其中一个主题更好?他们俩都会工作吗?有什么不同,你将使用哪一个?

typedef struct suppliers * SUP;
    typedef struct suppliers{
    int num;
    int moths;
    SUP next;
} su;
Run Code Online (Sandbox Code Playgroud)

其他选项是:

typedef supplier *suppliers
typedef struct supplier{
    int num;
    int moths;
    struct supplier *next;
} supplier;
Run Code Online (Sandbox Code Playgroud)

c struct typedef

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