Java習題——迴圈1
阿新 • • 發佈:2018-12-30
1.盈盈為了考驗令狐沖奪冠的決心,要他說一百遍“我能行!”
package cn.edu.nefu;
public class Test01
{
public static void main(String[] args)
{
for(int i=0;i<100;i++){
System.out.println("我能行!");
}
}
}
2.本金10000元存入銀行,年利率是千分之三,每過1年,將本金和利息相加作為新的本金。計算5年後,獲得的本金是多少?(用double儲存)
package cn.edu.nefu; public class Test02 { public static void main(String[] args) { double money = 10000; for(int i=0;i<5;i++){ money+=money*0.003; } System.out.println(money); } }
3. 計算出1—100之間所有能被3整除的整數的和
package cn.edu.nefu;
public class Test03 {
public static void main(String[] args) {
int sum = 0;
for(int i=1;i<=100;i++){
if(i%3==0){
sum+=i;
}
}
System.out.println(sum);
}
}
4. 計算1000以內所有不能被7整除的整數之和
package cn.edu.nefu; public class Test04 { public static void main(String[] args) { int sum=0; for(int i=1;i<=1000;i++){ if(i%7!=0){ sum+=i; } } System.out.println(sum); } }
5.用while做 求10到20的累加和
package cn.edu.nefu;
public class Test05 {
public static void main(String[] args) {
int sum=0;
int i=10;
while(i<=20){
sum+=i;
i++;
}
System.out.println(sum);
}
}
6. 找出一個數的所有因子數
package cn.edu.nefu; import java.util.Scanner; public class Test06 { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("請輸入一個數:"); int a = s.nextInt(); for(int i=1;i<=a;i++){ if(a%i==0){ System.out.print(i+" "); } } //System.out.println("Hello World!"); } }
7. 輸入一個數,判斷這個數是否是素數;
package cn.edu.nefu;
import java.util.Scanner;
public class Test07
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
System.out.println("請輸入一個數:");
int a=s.nextInt();
int flag=0;
if(a==2){
flag=1;
}
else{
for(int i=2;i<a;i++){
if(a%i==0){
flag=0;
break;
}
else{
flag=1;
}
}
}
if(flag==0){
System.out.println(a+"不是素數");
}
else{
System.out.println(a+"是素數");
}
}
}
8 .定義一個正整數如:1205(位數不定) 統計它的各位數字中零的個數,並求各位數字中的最大者。
package cn.edu.nefu;
import java.util.Scanner;
public class Test08 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入一個正整數:");
long a = sc.nextLong();
int sum = 0;//0的個數
int x;//餘數
while(a>0){
x = (int) (a%10);
if(x==0){
sum++;
}
a/=10;
}
System.out.println("該正整數中零的個數為"+sum);
}
}
9. 有1020個西瓜,第一天賣掉總數的一半後又多賣出兩個,以後每天賣剩下的一半多兩個,問幾天以後能賣完
package cn.edu.nefu;
public class Test09 {
public static void main(String[] args) {
int num=1020,day=0;
while(num>0){
num=num/2-2;
day++;
}
System.out.println(day+"天以後能賣完");
}
}
10.猴子吃桃問題: 猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個,第二天早上又將剩下的桃子吃了一半,又多吃一個,以後每天都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子。求第一天共摘了多少個?
package cn.edu.nefu;
public class Test10 {
public static void main(String[] args) {
int num=1;
for(int i=1;i<10;i++){
num=(num+1)*2;
}
System.out.println("第一天共摘了"+num+"個桃子");
}
}
11.判斷一個數是否是完全數(完數指的是一個數的所有因子數的和等於這個數本身,例如 6=1+2+3,即6就是完全數)
package cn.edu.nefu;
import java.util.Scanner;
public class Test11 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("請輸入一個數:");
int a = s.nextInt();
int sum=0;
for(int i=1;i<a;i++){
if(a%i==0){
sum+=i;
}
}
if(a==sum){
System.out.println(a+"是完全數");
}
else{
System.out.println(a+"不是完全數");
}
}
}
12.迴圈錄入某學生5門課的成績並計算平均分,如果某分數錄入為負,停止錄入並提示錄入錯誤(使用break)
package cn.edu.nefu;
import java.util.Scanner;
public class Test12 {
public static void main(String[] args) {
int sum=0;//總分
boolean bool = true;
Scanner sc = new Scanner(System.in);
//System.out.println("請輸入該學生5門課的成績:");
for(int i=1;i<=5;i++){
System.out.println("請輸入該學生的第"+i+"門成績:");
double sorce = sc.nextDouble();
if(sorce<0){
bool = false;
break;
}
sum += sorce;
}
if(bool==false){
System.out.println("錄入錯誤!");
}else{
System.out.println("平均分為:"+sum/5);
}
}
}
13.迴圈錄入Java課的學生成績,統計分數大於等於 80分的學生比例(使用continue)
package cn.edu.nefu;
import java.util.Scanner;
public class Test13 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入學生個數:");
int n = sc.nextInt();//學生個數
int sum = 0;//分數大於80的學生個數
for(int i=1;i<=n;i++){
System.out.println("請輸入第"+i+"個學生的成績:");
double sorce = sc.nextDouble();
if(sorce>=80){
sum++;
continue;
}
}
System.out.println("分數大於80的學生比例為:"+(double)sum/n*100+"%");
}
}