int a= 21;//10101
int b = 269;//100001101
Run Code Online (Sandbox Code Playgroud)
a^b 会做
10101
100001101
---------
100011000
Run Code Online (Sandbox Code Playgroud)
但我想做
10101
100001101
---------
001011101
Run Code Online (Sandbox Code Playgroud)
有没有办法在不改变原始数字的情况下做到这一点?
int SIZE = 512;
p = new BigInteger(SIZE, 15, new Random());
q = new BigInteger(SIZE, 15, new Random());
r = new BigInteger(SIZE, 15, new Random());
n = p.multiply(q);
temp1=n;
n = n.multiply(r);
if (temp1.multiply(r)!=n) System.out.println("test");
Run Code Online (Sandbox Code Playgroud)
我的代码在这里test不应该打印.为什么?
class A {
A(int x) { System.out.println("constructor A"); } }
class B extends A {
B() { System.out.println(" constructor B"); } }
public class C {
public static void main(String args[]) { B b = new B(); } }
Run Code Online (Sandbox Code Playgroud)
它说A类的构造函数不能应用于给定的类型.
public class TestImpl {
public static void main(String[] args) {
HelloImpl h1 = new HelloImpl(), h2 = h1;
h1.message = "holla";
System.out.println(h2.sayHello());
}
}
interface Hello {
String sayHello();
}
class HelloImpl implements Hello {
static String message = "Hello";
String sayHello() {
return message;
}
}
Run Code Online (Sandbox Code Playgroud)
我得"试图分配较弱的特权".
我有两个功能做同样的事情:他们添加两个数字.一个添加两个作为类成员的数字,另一个添加用户在类外部给出的数字.
有没有办法编写一个函数来添加两个数字并检查参数是用户输入还是类成员?
void myclass::add(){
cout<<this->a+this->b;
}
void myclass::add(int a,int b){
cout<<a+b;
}
Run Code Online (Sandbox Code Playgroud) 我会尽量保持这个简单.我做了twp函数来测试一些东西:
//user valid
function validusr(){
return true;//or false, depends
}
//user in db
function indbusr(){
return true;//or false, depends
}
Run Code Online (Sandbox Code Playgroud)
后来,我有这个
if ( !validusr( $myval ) ) return validusr( $myval );
else if ( !indbusr( $myval ) ) return indbusr( $myval );
else return true;
Run Code Online (Sandbox Code Playgroud)
然而,这似乎并不好,因为我正在调用该函数2次:一次测试$myval,一次我返回它.但是,如果我说,存储这样的值:
$result1=validusr($myval);
$result2=indbusr($myval);
if (!$result1) return $result1;
else if ( !$result2) return $result2;
else return true;
Run Code Online (Sandbox Code Playgroud)
可能存在第二个语句永远不会运行的情况,因为第一个语句总是为真,这使得调用第二个函数无效.
那么哪一个更有效率?存储价值并冒险使用它,或者只在需要时调用该功能两次?
我认为这样做arraylist1=arraylist2可以使其中的2个共享相同的内存.如果没有他们这样做,我怎么能复制一个arraylist?我想把它们分开对待.
List<Integer> rez = new ArrayList<>();
List<Integer> rezc = new ArrayList<>();
rez.add(1);
rezc=rez;
rezc.add(2);
for (int s : rez) {
System.out.print(s + " ");
}//this will print 1 2
Run Code Online (Sandbox Code Playgroud) class C1 {
....
}
class C2 extends C1 {
....
}
public class Test {
public static void main(String args[]) {
C1 obiect = new C2();
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我可以用C1制作一个C2对象?C1 obiect = new C2();和 之间的区别是什么 C2 obiect = new C2();