我刚刚制作了这个程序,要求输入5到10之间的数字,然后计算这里输入的数字的总和就是代码
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int a,i,c;
cout << "Enter the number between 5 and 10" << endl;
cin >> a;
if (a < 5 || a > 10)
{
cout << "Wrong number" << endl;
system("PAUSE");
return 0;
}
for(i=1; i<=a; i++)
{
c=c+i;
}
cout << "The sum of the first " << a << " numbers are " << c << endl;
system("PAUSE");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我输入数字5,它应该显示
前5个数字的总和是15
但它显示出来
前5个数字的总和是2293687
但是当我把c设为0时 …
我这里得到的代码很少
int b=3;
b=b >> 1;
System.out.println(b);
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但是当我将变量b更改为byte,short,float,double时它包含错误,但是使用变量int和long它可以完美地工作,为什么它不能与其他变量一起使用?
几天前,我的教授告诉我们如何实现equals方法等等.
这是他的equals方法的代码示例,我不明白一个部分:
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Knjiga other = (Knjiga) obj;
return Objects.equals(isbn,other.isbn);
}
Run Code Online (Sandbox Code Playgroud)
在第一个if语句中,他检查这个(当前对象)是否与对象obj具有相同的引用(这是==运算符的作用?只比较两个引用)
如果他们得到相同的参考,它将返回真实?但我们永远不会检查其他字段,例如isbn以及我们可以提供的更多字段,因为如果这两个对象具有相同的引用,方法将永远不会出现.
在我看来,这个方法类似于double equals operator cuz这两个中的任何一个都不会检查字段,只是引用?
我刚开始使用android中的firebase,我无法理解onStart和onStop中的一些内容.
为什么有必要在stop方法上使用此代码?为什么我们需要删除监听器?
@Override
protected void onStop() {
super.onStop();
Log.d(TAG, "onStop: ");
if(mAuthStateListener != null)
mAuth.removeAuthStateListener(mAuthStateListener);
}
Run Code Online (Sandbox Code Playgroud)
还有一个问题是在onStart方法而不是onCreate中设置mAuth监听器的优势是什么?
@Override
protected void onStart() {
super.onStart();
Log.d(TAG, "onStart: ");
mAuth.addAuthStateListener(mAuthStateListener);
}?
Run Code Online (Sandbox Code Playgroud)
这就是他们在Firebase - >身份验证演示中的推动方式.
你好,这是我的代码.
int counter=0;
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
System.out.println(++counter);
if(counter==11)
break;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是当计数器等于11时如何结束两个循环?在这个例子中,我只是结束第二个循环.我知道如果我使用标签有一种方法,但还有其他方法吗?提前致谢.
当我尝试从数据库中读取所有模型行时,我突然收到此错误消息“函数名称必须是字符串”。
这是代码,我在收到错误时运行。
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return Customer::all();
}
Run Code Online (Sandbox Code Playgroud)
这是错误的图像。
我不明白我能做什么,所以我不能运行简单的查询来列出数据库中的所有行。谁能帮我解决这个问题?我已经检查了来自 stackoverflow 的所有其他帖子以获得此标题,但我找不到解决方案。
你好,我从我的书中得到了关于if-else-if语句的代码
{
int mesec = 4; // April
String season;
if(mesec==12 || mesec==1 || mesec==2)
season= "winter";
else if (mesec==3 || mesec==4 || mesec==5)
season= "spring";
else if (mesec==6 || mesec==7 || mesec==8)
season= "summer";
else if (mesec ==9 || mesec ==10 || mesec ==11)
season= "autumn";
else
season = "wrong month";
System.out.println("When it is April, it is "+season);
}
Run Code Online (Sandbox Code Playgroud)
当我使用if-else-if语句时,此代码可以正常工作,但是当我尝试仅使用if-else时
public static void main(String args[])
{
int mesec = 4; // April
String season;
if(mesec==12 || mesec==1 || mesec==2) …Run Code Online (Sandbox Code Playgroud) 我正在尝试从日期获取年份,并且Calendar.get(Calendar.YEAR)我获得3917年而不是2017年?但是,当我尝试检查输出时,date.getYear()它将返回正确的年份。
Date date = new Date(year, month, day);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
Log.d(TAG, "onClick: year "+date.getYear());
Log.d(TAG, "onClick: year "+calendar.get(Calendar.YEAR));
Run Code Online (Sandbox Code Playgroud)
输出:
onClick:2017年
onClick:3917年
日期类显示正确的年份,但日历显示错误的年份
我试图读取整个文件fgets,当我在while循环中使用它时,它永远不会结束.当我使用fscanf一切正常.
while((fscanf(f,"%s",ime)) != EOF)
{
fputs(ime,p);
fputc('\n',p);
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用,如何解决?我得到无限循环
while((fgets(ime,100,f)) != EOF)
{
fputs(ime,p);
fputc('\n',p);
}
Run Code Online (Sandbox Code Playgroud)
我应该放置什么,!= EOF所以当它是文件中的文本结尾时循环结束?
这里得到的代码很少:
class While
{
public static void main(String args[])
{
int n=10;
while (n==0)
{
System.out.println("Print "+n);
n--;
}
}
}
Run Code Online (Sandbox Code Playgroud)
不明白为什么它不会打印任何东西?==运算符是否与while循环兼容?它在代码中没有错误,但它什么都不打印.