关于Java编程的习题,不会做求高人指导(应该只是入门课题,我才上大一)
发布网友
发布时间:2022-05-15 10:04
我来回答
共5个回答
热心网友
时间:2023-10-19 15:16
package desc;
import java.util.List;
import java.util.ArrayList;
import java.util.Scanner;
/**
* 键盘输入两个数,求和
*
* 附赠:java程序 :求给出的任意两数(a,b)之间的所有素数,输出结果每行按指定个数(c)输出
*
* 素数:指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
*
* @author javaBrid
* @since 2011-10-14
*/
public class TestPrimeNumber {
/**
* 键盘输入两个数,求和
*/
public static int toAdd()
{
int sum = 0;
//控制台输入
Scanner sc = new Scanner(System.in);
//提示信息
String[] message = {"请输入第一个值(回车确定):",
"请输入第二个值(回车确定):"};
//根据index选择message
int index = 0;
//保存输入的值
String str;
String str2;
//正则判断是否是数字,
String regex = "[+|-]?[0-9]+";
int a=0;
int b=0;
while(true)
{
if(index == 2)//两个数都输入后退出输入
{
break;
}
//提示信息
System.out.println(message[index]);
//获取输入值
str2 = str = sc.next();
//如果有"+"或"-",去掉
str = (str.startsWith("+")||str.startsWith("-"))?str.substring(1):str;
//如果是数字
if(str.matches(regex))
{
switch(index)
{
case 0: //a的值
a = str2.startsWith("-")?(- Integer.parseInt(str)):Integer.parseInt(str);
index++;
break;
case 1: //b的值
b = str2.startsWith("-")?(- Integer.parseInt(str)):Integer.parseInt(str);
index++;
break;
default:;
}
}
else
{
System.out.println("输入错误:非数字【"+str+"】,请输入数字");
}
}
sum = a+b;
System.out.println("结果是:("+a+") + ("+b+") = " +sum);
return sum;
}
/**
* 求a和b之间的所有素数
* a b要求 a>1&&b>1 a>b或b>a
* @param a 起始点
* @param b 结束点
* @param c 每行的显示个数
*/
public static void showPrimeNumber(int a,int b,int c)
{
if(a>1 && b>1 && c>0)
{
//保证list中的元素顺序
int index = 0;
//当i%j==0时,说明这个i不是素数flag = false
boolean flag;
//初始化数据
int m = Math.min(a, b);
int n = Math.max(a, b);
//保存m和n中的素数
List primes = new ArrayList();
for(int i=m;i<=n;i++)
{
flag = true;
for(int j=2;j<i;j++)
{
if(i%j == 0)
{
flag = false;
break;
}
}
//flag=true时,记录下这个素数
if(flag)
{
primes.add(index++, i);
}
}
//按要求输出结果
System.out.println(m+"和"+n+"之间的所有素数共有【"+primes.size()+"】个(每行显示"+c+"个):");
for(int i=0;i<primes.size();i++)
{
//(i%c==0)?"\n":"") 控制换行,如果这一行是c或c的倍数则换行
System.out.print(((i%c==0 && i>0)?"\n":"") + primes.get(i)+(i==primes.size()-1?" \n\n":" "));
}
}
else
{
System.out.println("输入有误,检查a和b是否大于1,c是否大于0!");
}
}
/**
* 求a和b之间的所有素数
* a b要求 a>1&&b>1 a>b或b>a
* a,b,c用键盘输入
*
*/
public static void showPrimeAsYours()
{
//控制台输入
Scanner sc = new Scanner(System.in);
//提示信息
String[] message = {"请输入a的值(要求a>1,回车确定):",
"请输入b的值(要求b>1,回车确定):",
"请输入c的值(要求c>0,回车确定):"};
//根据index选择message
int index = 0;
String str;
//正则判断是否是数字,
String regex = "[+]?[0-9]+";
int a=0;
int b=0;
int c=0;
while(true)
{
if(index == 3)
{
break;
}
//提示信息
System.out.println(message[index]);
//获取输入值
str = sc.next();
//如果有"+"号,去掉
str = str.startsWith("+")?str.substring(1):str;
//如果是数字
if(str.matches(regex))
{
switch(index)
{
case 0: //a的值
if(Integer.parseInt(str)>1)//确保a>1
{
a = Integer.parseInt(str);
index++;
}
else
{
System.out.println("a值输入错误:【"+str+"】,要求a>1");
}
break;
case 1: //b的值
if(Integer.parseInt(str)>1)//确保b>1
{
b = Integer.parseInt(str);
index++;
}
else
{
System.out.println("b值输入错误:【"+str+"】,要求b>1");
}
break;
case 2: //c的值
if(Integer.parseInt(str)>0)//确保c>0
{
c = Integer.parseInt(str);
index++;
}
else
{
System.out.println("c值输入错误:【"+str+"】,要求c>1");
}
break;
default:;
}
}
else
{
switch(index)
{
case 0: //a输入错误
System.out.println("a值输入错误:【"+str+"】,要求a>1");
break;
case 1: //b输入错误
System.out.println("b值输入错误:【"+str+"】,要求b>1");
break;
case 2: //c输入错误
System.out.println("c值输入错误:【"+str+"】,要求c>1");
break;
default:;
}
}
}
//输入完毕后,查找素数
TestPrimeNumber.showPrimeNumber(a, b, c);
}
/**
* @param args
*/
public static void main(String[] args)
{
//求输入的两个数字的和
TestPrimeNumber.toAdd();
//输出2和100间的所有素数,每行显示5个
//TestPrimeNumber.showPrimeNumber(2,100,5);
//使用键盘输入a,b,c
//TestPrimeNumber.showPrimeAsYours();
}
}
热心网友
时间:2023-10-19 15:17
这个才叫如,入门级的。
public class Add {
public static void main(String[] args) {
System.out.pritln("请输入两个数字,用空格隔开,回车键确认:");
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
int c = a + b;
System.out.pritln("你输入的两个数求和的结果是:"+ c);
}
}
热心网友
时间:2023-10-19 15:17
import java.awt.*;
import java.awt.event.*;
class Add extends Frame implements ActionListener {
TextField txtF1,txtF2,txtF3;
Button btn;
public Add(){
super("简单加法运算器");
setSize(300,300);
setVisible(true);
setLayout(new FlowLayout());
txtF1=new TextField(5);
txtF2=new TextField(5);
txtF3=new TextField(10);
btn=new Button("=");
add(new Label("请输入整数"));
add(txtF1);
add(new Label("+"));
add(txtF2);
add(btn);
add(txtF3);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
System.exit(0);
}});
validate();
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
int add=Integer.parseInt(txtF1.getText()) +Integer.valueOf(txtF2.getText()).intValue();//两种字符串转整形的方法
txtF3.setText(String.valueOf(add));
}
public static void main(String[] args){
new Add();
}
}
热心网友
时间:2023-10-19 15:18
楼主都说了只是入门题,你整这么复杂做什么?
import java.util.*;
public class Sum {
String x,y;
int n,m,l;
public static void main(String[] args){
new Sum().lauchFrame();
}
public void lauchFrame(){
System.out.println("请输入两个数");
Scanner s1 = new Scanner(System.in);
Scanner s2 = new Scanner(System.in);
x = s1.next();
y = s2.next();
n = Integer.parseInt(x); //将字符串转化为数字
m = Integer.parseInt(y);
l = m + n;
System.out.println(l);
}
}
热心网友
时间:2023-10-19 15:19
public static void Test(){
int one=0;
int two=0;
String temp=null;
System.out.println("please enter the first integer:");
try {
BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));
temp=br1.readLine();
one=Integer.parseInt(temp);
System.out.println("please enter the second integer:");
BufferedReader br2=new BufferedReader(new InputStreamReader(System.in));
temp=br2.readLine();
two=Integer.parseInt(temp);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(one+"+"+two+"="+(one+two));
}