我需要解决一个问题,当输入整数时,这是用户想要在此输入旁边输入的行数(一些句子),如文本所述,如下所示:
第一行输入包含一个整数N,表示输入中的行数.接下来是N行输入文本.
我写了以下代码:
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
String lines[] = new String[n];
for(int i = 0; i < n; i++){
System.out.println("Enter " + i + "th line");
lines[i] = scan.nextLine();
}
}
}
Run Code Online (Sandbox Code Playgroud)
并与该计划的互动:
5(The user inputted 5)
Enter 0th line(Program outputted this)
Enter 1th line(Doesn't gave time to input and instantly printed this message)
Hello(Gave time to write some input)
Enter 2th line(Program outputted this)
How(User input)
Enter …Run Code Online (Sandbox Code Playgroud) 问题是要求比较成本for和while循环,相对于if陈述的成本.
假设if语句的相对成本为1,for和while循环的相对成本是多少?
假设在比较时将单个布尔值传递给while循环和if语句,并while允许迭代X次.假设它for也迭代X次.
我试图找出一个数字是否为素数.但是我遇到了"检测到无法访问的代码"的错误,我认为这会影响"并非所有代码路径返回值"的错误.错误似乎发生在i ++的for循环中.有人可以帮我吗?
static void Main(string[] args)
{
Console.WriteLine(isPrime(10));
}
public static bool isPrime(int n)
{
for (int i = 2; i < n; i++)
{
if (n % i == 0)
{
return false;
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud) 我需要在C#中打印这样的风格
*****
***
*
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
到目前为止,我得到了以下代码,但它以另一种方式打印并减少了一颗星.
int number = 5;
int i, j, k;
for (i = 1; i <= number; i++)
{
for (j = 1; j <= number - i; j++)
{
Console.Write("");
}
for (k = 1; k <= i; k++)
{
Console.Write("*");
}
Console.WriteLine("");
}
Run Code Online (Sandbox Code Playgroud) var friends = ["Miha", "Artur", "Karen", "zollex"];
var len = friends.length;
var friend = 0;
var msg = '';
var i;
for (i = 0; i <len; i++){
friend = (i + 1);
msg+= "Friend number " + friend + ":";
msg+=friends[i] + "<br />";
document.write(msg);
}
Run Code Online (Sandbox Code Playgroud)
我上面写的代码如下.结果如下:
朋友1:Miha
朋友1号:Miha
朋友2号:Artur
朋友1号:Miha
朋友2号:Artur
朋友3号:Karen
朋友1号:Miha
朋友2号:Artur
朋友3号:Karen
朋友4号:zollex
虽然应该只有4个朋友.我真的好奇为什么document.write多次重复这个名字.
我只想写一个简单的代码,在同一行上产生5个笑脸.
Ex output = :) :) :) :) :)
我不明白为什么这段代码不能编译.
public class SmileGenerator {
public static void main(String[] args) {
for (int i=0,i<6,i++) {
System.out.print(":) ");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
SmileGenerator.java:9: error: ';' expected
for (int i=0,i<6,i++) {
^
SmileGenerator.java:9: error: illegal start of type
for (int i=0,i<6,i++) {
^
SmileGenerator.java:9: error: illegal start of expression
for (int i=0,i<6,i++) {
^
SmileGenerator.java:9: error: ';' expected
for (int i=0,i<6,i++) {
^
SmileGenerator.java:9: error: illegal start of expression
for (int i=0,i<6,i++) { …Run Code Online (Sandbox Code Playgroud) 我编写了以下for循环来将一些行解析为dict中的键和值.如何将其转换为while循环?
for i in range(len(lines)):
string = lines[i].rstrip("\n")
for j in range (len(string)):
if string[j] == ':':
user[string[:j]] = string[j+1:]
Run Code Online (Sandbox Code Playgroud) 所以我有这个代码:
for (int i=1000; i<2016; i++ )
{
cout << "The year is " << i << endl;
}
Run Code Online (Sandbox Code Playgroud)
但是,让我说我不希望这些代码打印所有这些年,但只有少数几个,让我们说它是500,1000,1500和2000年.
我试着将其添加到代码中:
for (int i=1000; i<2016; i++ )
if ( i == 500 , i == 1000 , i == 1500 , i == 2000){
cout << "The year is " << i << endl;
}
Run Code Online (Sandbox Code Playgroud)
但那没用.
如何让代码只写我选择的年份?
ps间隔是随机的,而不是每500.
我正在尝试一个问题,在那里我必须为以b结尾的字符串写"Accept".我在使用这部分代码时遇到问题:
char s[100];
int length,i=0;
gets(s);
length=strlen(s);
for( i=0; i<length; i+2)
{
if(s[i]=='b' && s[i+1]=='\0')
printf("Accept");
else printf("Not accept");
}
Run Code Online (Sandbox Code Playgroud)
但这个循环无限运行.当我使用它时,同样的问题得到了解决:
while(s[i]!='\0')
{
if(s[i]=='b' && s[i+1]=='\0')
printf("Accept");
else printf("Not accept");
i+2;
}
Run Code Online (Sandbox Code Playgroud)
我知道for循环的逻辑存在问题,并且已经尝试了很多来解决它,但是失败了.我是编程的新手.请你帮我解决这个问题.
我希望这个循环从我设置的值减少到10到0.为什么它会一直持续下去?
int lengthString = 10;
for (int j = lengthString; lengthString > 0; j--)
{
cout << j;
}
Run Code Online (Sandbox Code Playgroud) for-loop ×10
java ×3
c# ×2
c++ ×2
while-loop ×2
c ×1
if-statement ×1
javascript ×1
performance ×1
python ×1
return-value ×1