最近我接受了一次采访,要求我做出以下类型的输出:
$i($i=1)
现在我没有练习太多,但不知何故设法做到了这一点。
其中我使用2个变量$num($num=9)
和$i<5
。
并使条件<?php
$num=9;
for($i=1;$i<5;$i++) {
echo $num . "<br>". $i."<br>";
$num--;
}
?>
增加1,直到达到5。
$i
这给出了我需要的输出。但是有另一种方法可以使用$j
和<?php
for($i=1,$j=9; $j>=6; $i++,$j--){
echo($j."<br/>".$i."<br />");
}
?>
作为变量。所以我想知道哪一个更简单,更好。
public void signUp(View view)
{
EditText nameedit = (EditText) findViewById(R.id.name);
EditText emailedit = (EditText) findViewById(R.id.emailid);
EditText contactedit = (EditText) findViewById(R.id.contact);
EditText collegeedit = (EditText) findViewById(R.id.college);
CheckBox accommodationcheck = (CheckBox) findViewById(R.id.accommodation);
CheckBox raftingcheck = (CheckBox) findViewById(R.id.rafting);
Spinner spinner= (Spinner) findViewById(R.id.spinner);
String acc = String.valueOf(accommodationcheck.isChecked());
String raf = String.valueOf(raftingcheck.isChecked());
String name = nameedit.getText().toString();
String email = emailedit.getText().toString();
String contact = contactedit.getText().toString();
String college = collegeedit.getText().toString();
String gender=spinner.getSelectedItem().toString();
SharedPreferences sharedPreferences = getSharedPreferences("SIGNUP", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
if (name.isEmpty() || email.isEmpty() || contact.isEmpty() || college.isEmpty())
{
Toast.makeText(this, "Please fill all the required field", Toast.LENGTH_LONG).show();
}
else
{
editor.putString("accomodation", acc);
editor.putString("rafting", raf);
editor.putString("name", name);
editor.putString("email", email);
editor.putString("contact", contact);
editor.putString("college", college);
editor.putString("gender", gender);
editor.apply();
}
}
答案 0 :(得分:1)
对我来说这看起来更好
for ($i=1, $j=9; $i<5; $i++,$j--) {
echo $j;
echo "\n";
echo $i;
echo "\n";
}
答案 1 :(得分:1)
我认为最好运行一个从9递减的循环并使用变量来跟踪迭代次数:
$count = 0;
for ($i = 9; $i >= 6; $i--)
{
$count++;
echo $i."\n";
echo $count."\n";
}
答案 2 :(得分:1)
更一般地说,这可以写成:
<?php
//Bounds
$upper = 9;
$lower = 1;
//Mid-point, use MOD 2 to add 1 for odd numbers
$mid = ( $upper + ( $upper % 2 ) ) / 2;
for( $i = $lower, $j = $upper; $i <= $mid && $j > $mid; $i++, $j-- )
{
echo $j;
echo "\n";
echo $i;
echo "\n";
}
在序列结束时有点模糊。您提供的序列完全忽略中心/枢轴编号(5),上面的代码对奇数范围的数字执行相同操作,但显示偶数范围。如果目标是始终忽略中心一个或两个(奇数或偶数),那么您可以在for
循环中更改第二个中心条件:
for( $i = $lower, $j = $upper; $i < $mid && $i !== $j; $i++, $j-- )
{
echo $j;
echo "\n";
echo $i;
echo "\n";
}
答案 3 :(得分:1)
一个变量解决方案
for($i=1; $i<5; $i++) {
echo 10 - $i . "<br>". $i."<br>";
}