我在java中的减号操作有一个小问题.当用户按下"退格"键时,我希望用户键入的字符被从存在的单词中删除.例如word = myname 和一个退格 字= mynam之后
这有点像我所拥有的:
String sentence = "";
char c = evt.getKeyChar();
if(c == '\b') {
sentence = sentence - c;
} else {
sentence = sentence + c;
}
Run Code Online (Sandbox Code Playgroud)
添加操作有效.因此,如果我添加一个字母,它会添加到现有单词中.但是,减号不起作用.我在这里错过了什么吗?还是完全错了?
我有以下查询;
classB inherits from classA
classC is friend of classB
Run Code Online (Sandbox Code Playgroud)
这是不是意味着classC应该能够访问classA的受保护成员?既然classB从classA继承了这个,那么classC可以访问类classB中的所有东西吗?
为了检查一个简单数组中的相等性,我有以下几点;
int a[4] = {9,10,11,20};
if(a[3]== 20){
cout <<"yes"<< endl;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我创建一个类型类的数组,并尝试检查相等性时,我得到错误;
Human是一个具有名称,年龄,性别等私有变量的类,并为这些变量获取和设置函数.
humanArray的大小为20
void Animal::allocate(Human h){
for (int i =0; i<20; i++){
if(humanArray[i] == h){
for(int j = i; j<size; j++){
humanArray[j] = humanArray[j +1];
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到以下错误;
error: no match for 'operator==' in '((Animal*)this)->Animal::humanArray[i] == h'|
Run Code Online (Sandbox Code Playgroud)
我可以传入索引和Human,并检查索引号.但是,有没有办法检查两个元素是否相同?我不想检查说出人类名字的"人名",因为对于某些部分,我的人类没有名字.
我目前正在开始使用C++.对于我目前正在做的功课,我必须在一个头文件中定义一些类.我不确定我是否正确行事.这是我正在尝试做的样本.
//classOne.h
class classOne{
public:
classOne();
~classOne();
class classInsideClass{
public:
classInsideClass
void hello();
void print();
};
}
Run Code Online (Sandbox Code Playgroud)
(我在这个示例中跳过了一些代码,比如classOne的构造函数)
//classOne.cpp
classOne::classInsideClass::classInsideClass(){}
classOne::classInsideClass::hello(){
cout << ""Hello <<endl;
}
//main.cpp
classOne callingClass;
callingClass.classInsideClass.hello;
Run Code Online (Sandbox Code Playgroud)
我在classOne的头文件中定义了一个类.我已经在classOne的cpp中创建了这个classInsideClass的函数.这是正确的说法,classInsideClass属于classOne,还是我不允许这样做?
我在main.cpp中正确调用了classInsideClass的函数吗?当我尝试运行它时,我得到以下错误;
错误:无效使用'class classOne :: classInsideClass
如果我不尝试在main.cpp中调用classInsideClass的函数,那么它符合要求.
提前致谢.
在Visual studio中,每次刷新页面时都会调用该类吗?我有以下类 - 我希望每次单击一个按钮时为变量添加值;
public partial class _Default : System.Web.UI.Page
{
Random random = new Random();
int total;
int playerTotalValue;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ranPlayer_Click(object sender, EventArgs e)
{
int randomNumTwo = random.Next(1, 10);
playerTotalValue = playerTotalValue + randomNumTwo; //playerTotalValue gets reset to zero on every click
playerTotal.Text = playerTotalValue.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
每次单击"ranPlayer"按钮时,playerTotalValue都会重置为零,或者这就是我认为发生的事情.
我已经读过Java和C++/C#之间的主要区别之一是Java在运行时做了什么,C#在编译时做了些什么.这是真的?如果是这样,你能解释一下吗?
在C#中,我创建了一个函数,该函数接收两个输入并RandomNumber(int x, int y)使用随机对象返回一个随机数(称为).然后我在另一个函数中调用了这个函数两次,期望获得两个不同的值(两个不同的随机数).但是,我不断得到相同的值,这让我感到困惑,因为我可以用Java做同样的事情并期望得到不同的数字.
然后我决定删除我的函数 - RandomNumber(int x,int y)并在我的其他函数中调用Random,如下所示.
Random random = new Random();
int randomNum;
int la;
randomNum = random.Next(1, 10);
numOne.Text = randomNum.ToString();
la = random.Next(1, 10);
Run Code Online (Sandbox Code Playgroud)
这会生成两个不同的随机数.为什么会这样?