*
对于这种问题要反着推理。而且这是一首诗,所以不必在乎到底是先遇到花还是先遇到店,关键是理解循环。
*
如果理解了循环,不管先遇到花还是先遇到店还是花和店没有顺序,思路都是一样的。
*从这个题目学的是思路,学的是解题方法,举一反三。
*/
//(五遇花和店)按照诗句里花和店的顺序,我们假设是先遇到花
float
count=0//定义一个变量,存储最后喝完酒的值。
//因为是五遇花和店,所以循环是5次。
for
(int
i
=
1
i
<=5
i++)
{
count=count+1//因为遇到花是喝一斗,所以反过来是加一斗,所以加1.
count=count/2//遇到点是加一倍,所以反过来是减一倍,所以除以2.
/**
*
上面两句还可以简化为:
*
count+=1
*
count/=2
*/
//以上这两句可以合成一句:count=(count+1)/2
}
//循环结束后就是一开始李白酒壶里的酒的数量。
system.out.println(count)//打印出结果。
我也还是学生,我最喜欢帮别人做作业的哈~import java.util.Scanner/*.使用do-while循环:输出询问“我爱你,嫁给我吧?”,选择“你喜欢我吗?(y/n):",* 如果输入为y则打印”我们形影不离“,若输入为n,则继续询问*/
public class 第一题 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in)
do{
System.out.println("我爱你,嫁给我吧?\n你喜欢我吗?(y/n):")
if(s.next().equalsIgnoreCase("y"))
{
System.out.println("我们形影不离")
break
}
else
continue
}while(true)
}
} /*任意输入一个整数(小于10位),求这个整数有多少位?*/
import java.util.Scannerpublic class 第二题 {
public static void main(String[] args) {
System.out.println("任意输入一个整数(小于10位):")
String str = new Scanner(System.in).next()
System.out.println("这个整数有"+ str.length()+"位")
}}
import java.util.Scanner/*编写一个程序,最多接受10个数字,并求出其中所有正数的和。统计用户输入正数的个数,并显示个数和这些正数的和*/
public class 第三题 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in)
String str = null
int count = 0
int countPlus = 0
int num = 0
int sum = 0
System.out.println("输入最多10个数字(输入e结束):")
while( count <= 10 )
{
if((str = s.next()).equalsIgnoreCase("e"))
break
num = Integer.parseInt(str)
if(num >0)
{
countPlus++
sum += num
}
count++
}
System.out.println("正数的个数为:"+countPlus+",正数的和为:"+sum)
}
}
/*用for循环计算出1~100之间所有不能被3整除的整数的和。*/
public class 第四题 {
public static void main(String[] args) {
int sum = 0
for(int i = 1i <= 100i++)
if(i % 3 != 0)
sum += i
System.out.println(sum)
}
}
/*用for循环计算出1~100之间所有不能被3整除的整数的和,以及输出当和刚好大于或等于2000时的这个数字*/
public class 第五题 {
public static void main(String[] args) {
int sum = 0
int i = 1
int j = 0
for(i <= 100i++)
if(i % 3 != 0)
{
sum += i
if(sum >= 2000 &&j == 0)
j = i
}
System.out.println("和为:"+sum+",刚好大于或等于2000时的数字为:"+j)
}
}
public class 第六题 {
public static void main(String[] args) {
for(int i = 1i <= 7i += 2)
{
for(int j = 1j <= ij++)
{
System.out.print("*")
}
System.out.println()
}
for(int i = 5i >= 1i -= 2)
{
for(int j = 1j <= ij++)
{
System.out.print("*")
}
System.out.println()
}
}
}