这是一项家庭作业,虽然我找到了一些有关使控制台在输出中写入行的答案,但它们要么用于另一种编程语言,要么影响了控制台垂直写入输出的方式。
我的代码
int i=1
while (i<22)
{
if (i%2 ==1)
Console.WriteLine(i);
Console.WriteLine("\t");
i++;
}
我发现的教程仍然可以垂直打印所有内容。我可以让他们水平打印吗?
答案 0 :(得分:0)
您可以使用上面Vasily提到的Console.Write(...)
方法,也可以在for循环内创建输出字符串,然后将该字符串输出为一行。我也将其更改为使用内联语句和for循环。即:
int i=1;
string output="";
for(int count = 0; count < 22; count++) {
output += i % 2 == 1 ? i : "\t"; }
console.WriteLine(output);
如果在上面的代码中使用Console.Write()
命令的优势将缩短一行,我只是更喜欢在输出任何内容之前先将鸭子放一行。
答案 1 :(得分:0)
这是递归函数的示例
...
$fields = $queryResult->getParameters()->getFields();
$parameters = [];
foreach($fields as $key => $field) {
$parameters[$key] = self::get_field_value($field);
}
...
private static function get_field_value($field)
{
$kind = $field->getKind();
if ($kind == "string_value")
return $field->getStringValue();
else if ($kind == "number_value")
return $field->getNumberValue();
else if ($kind == "bool_value")
return $field->getBoolValue();
else if ($kind == "null_value")
return $field->getNullValue();
else if ($kind == "list_value") {
$list_values = $field->getListValue()->getValues();
$values = [];
foreach($list_values as $list_value)
$values[] = self::get_field_value($list_value);
return $values;
}
else if ($kind == "struct_value")
return $field->getStructValue();
}
然后致电private void Print(int counter, int end)
{
if (counter > end)
return;
if (counter % 2 == 1)
Console.Write(counter);
Console.Write("\t");
counter++;
Print(counter, end);
}
答案 2 :(得分:0)
尝试
int i = 1;
while (i < 22)
{
if (i % 2 == 1)
Console.Write(i+"\t");
i++;
}
输出1 3 5 7 9 11 13 15 17 19 21