java编程题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java编程题相关的知识,希望对你有一定的参考价值。
四、 编程题
1. 参考上述java程序的框架,写一个完整的程序使用循环结构计算1+2+3+…+1000的和并输出运算结果。
2、写一个程序,允许用户依次输入多个姓名和住址,并能将用户的输入保存到文件中。当用户输入“quit”表示输入完毕,程序推出。
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Demo
public static void main(String[] args)
System.out.println(求和(1000));
保存姓名和住址();
/**
* 求从0开始连续整数之和
* @param max 从0开始,一直加到max为止
* @return 和
*/
private static int 求和(int max)
int result = 0;
for(int i=0;i<=max;i++)
result += i;
return result;
private static void 保存姓名和住址()
System.out.println("请输入姓名和住址,用逗号隔开。输入‘quit’退出。");
String strInput = null;
File file = new File("姓名住址.txt"); //建立文件
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //接收控制台输入
BufferedWriter bw = null;
try
bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file))); //输出到文件
bw.append("姓名\t住址");
bw.newLine();
catch (FileNotFoundException e1)
e1.printStackTrace();
catch (IOException e)
e.printStackTrace();
while(true)
System.out.print("_>");
try
strInput = br.readLine();
if(strInput.equalsIgnoreCase("quit")) //不论quit大小写,退出程序
bw.flush();
break;
else
if(bw != null)
//不论姓名和住址的分隔符是英文逗号还是中文逗号,均替换为制表符,主要是为了输出的美观
bw.append(strInput.replaceFirst("[,,]", "\t"));
bw.newLine();
catch (IOException e)
e.printStackTrace();
try
//关闭输入和输出
if(br != null)
br.close();
if(bw != null)
bw.close();
catch(IOException e)
e.printStackTrace();
参考技术A 1.
class Number
public static void main(String[] args)
int sum=0;
for(int i=1;i<=1000;i++)
sum+=i;
System.out.println(sum);
2.
class User
public static void main(String[] args) throws Exception
String str;
Scanner sc = new Scanner(System.in);
PrintWriter writer = new PrintWriter(new FileWriter(new File("log.txt")), true);
while (true)
String name = sc.nextLine();
String addr;
if (name.equals("quit"))
writer.close();
return;
else
addr = sc.nextLine();
writer.println(name + "\t" + addr);
本回答被提问者采纳 参考技术B 1.
class Test
public static void main(String[] args)
int sum=0;
for(int i=1;i<=100;i++)
sum+=i;
System.out.println(sum);
Python和Java编程题
今天偶尔看到一个博客有贴了五十个编程题,决定以后两天左右做一道题
题目来源:http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html
1.题目
一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。
2.Java实现
Java中的通过创建对象,再来调用方法解决问题思想还是不太熟练
1 public class ProfectNumber { 2 /* 3 * 定义计算数字的因子总和 4 */ 5 public void GetProfectNumber(int a) { 6 for(int i=2;i<a;i++) { 7 int Sum = 0; 8 for(int j=1;j<i;j++) {// 求数字i的出本身之外的因子 9 if(i%j==0) { 10 Sum += j; 11 } 12 } 13 if(i==Sum) { 14 System.out.print(i+"、"); 15 } 16 } 17 } 18 19 public static void main(String args[]) { 20 ProfectNumber p = new ProfectNumber();//新建此类对象 21 p.GetProfectNumber(1000);//调用计算完数方法 22 } 23 }
3.Python实现
1 # -*- coding: utf-8 -*- 2 # 一个数等于除它本身之外的因子之和,称为完数 3 def Factor(a, L): 4 for j in range(1,a): 5 if a%j == 0: 6 L.append(j) 7 return L 8 9 if __name__ == ‘__main__‘: 10 ProNumber = [] 11 for i in range(2,1000):# 1不是完数,可以排除 12 A = [] 13 FactorList = Factor(i, A) 14 if sum(FactorList) == i: 15 ProNumber.append(i) 16 print("1000以内总共有{}个完数,分别是".format(len(ProNumber))) 17 for index in range(0,len(ProNumber)): 18 print(ProNumber[index])
以上是关于java编程题的主要内容,如果未能解决你的问题,请参考以下文章