6-1 简单实现x的n次方(10 分)
本题要求实现一个计算x n (n≥0)的函数。
函数接口定义:
double mypow( double x, int n );
函数mypow应返回x的n次幂的值。题目保证结果在双精度范围内。
裁判测试程序样例:
输入样例:
输出样例:
程序源码
6-2 使用函数求1到10的阶乘和(10 分)
本题要求实现一个计算非负整数阶乘的简单函数,使得可以利用该函数,计算1!+2!+⋯+10!的值。
函数接口定义:
double fact( int n );
其中n是用户传入的参数,其值不超过10。如果n是非负整数,则该函数必须返回n的阶乘。
裁判测试程序样例:
输入样例:
输出样例:
程序源码
7-1 生成3的乘方表(15 分)
输入一个非负整数n,生成一张3的乘方表,输出3 0 ~3 n
的值。可调用幂函数计算3的乘方。
输入格式:
输入在一行中给出一个非负整数n。
输出格式:
按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。
输入样例:
输出样例:
程序源码
7-2 求平方根序列前N项和(15 分)
本题要求编写程序,计算平方根序列√1 +√2+√3+⋯的前N项之和。可包含头文件mathh,并调用sqrt函数求平方根。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。
输入样例:
输出样例:
程序源码
7-3 求阶乘序列前N项和(15 分)
本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。
输入格式:
输入在一行中给出一个不超过12的正整数N。
输出格式:
在一行中输出整数结果。
输入样例:
输出样例:
程序源码
import javaawtContainer;
import javaio;
import javanet;
import javaxswing;
import javaawtevent;
class S extends JFrame implements ActionListener {
int w = thisgetToolkit()getScreenSize()width;// 屏幕宽
int h = thisgetToolkit()getScreenSize()height;// 屏幕高
JButton send = new JButton("发送消息");// 发送消息按钮
JTextArea ta = new JTextArea();// 记录
JScrollPane content = new JScrollPane(ta);// 装记录的scroll
String ip = null;
int port = 10000;
String name = "6035";
S() {
thissetTitle("发送消息");
thissetSize(400, 400);
thissetVisible(true);
thissetLocation((w - 400) / 2, (h - 300) / 2);
thissetResizable(false);
thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
Container c = thisgetContentPane();
csetLayout(null);
thisadd(send);
sendaddActionListener(this);
sendsetActionCommand("send");// 添加监听命令
sendsetSize(120, 30);
sendsetLocation(0, 300);
thisadd(content);
contentsetSize(400, 300);// 大小
contentsetLocation(0, 0);// 位置
}
public void actionPerformed(ActionEvent a) {
String str = agetActionCommand();
Socket s;
PrintStream ps;
Systemoutprintln(str);
if (strequals("send")) {
String ss = thistagetText();
if (ss != null && !ssequals("")) {
try {
InetAddress addr = InetAddressgetLocalHost();
ip = addrgetHostAddress()toString();
String address = addrgetHostName()toString();
} catch (Exception e) {
Systemoutprintln(e);
}
try {
s = new Socket(ip, port);
ps = new PrintStream(sgetOutputStream(), true);
psprintln(name + "" + ss);
psclose();
sclose();
} catch (Exception e) {
} finally {
thistasetText("");
JOptionPaneshowMessageDialog(this, "发送成功");
Systemgc();
}
} else {
JOptionPaneshowMessageDialog(this, "你好像没有输入消息内容");
}
}
}
public static void main(String[] args) {
new S();
}
}
class Sa extends JFrame implements ActionListener {
int w = thisgetToolkit()getScreenSize()width;// 屏幕宽
int h = thisgetToolkit()getScreenSize()height;// 屏幕高
JButton send = new JButton("发送消息");// 发送消息按钮
JTextArea ta = new JTextArea();// 记录
JScrollPane content = new JScrollPane(ta);// 装记录的scroll
String ip = null;
int port = 10000;
String name = "5306";
Sa() {
thissetTitle("发送消息");
thissetSize(400, 400);
thissetVisible(true);
thissetLocation((w - 400) / 2, (h - 300) / 2);
thissetResizable(false);
thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
Container c = thisgetContentPane();
csetLayout(null);
thisadd(send);
sendaddActionListener(this);
sendsetActionCommand("send");// 添加监听命令
sendsetSize(120, 30);
sendsetLocation(0, 300);
thisadd(content);
contentsetSize(400, 300);// 大小
contentsetLocation(0, 0);// 位置
}
public void actionPerformed(ActionEvent a) {
String str = agetActionCommand();
Socket s;
PrintStream ps;
Systemoutprintln(str);
if (strequals("send")) {
String ss = thistagetText();
if (ss != null && !ssequals("")) {
try {
InetAddress addr = InetAddressgetLocalHost();
ip = addrgetHostAddress()toString();
String address = addrgetHostName()toString();
} catch (Exception e) {
Systemoutprintln(e);
}
try {
s = new Socket(ip, port);
ps = new PrintStream(sgetOutputStream(), true);
psprintln(name + "" + ss);
psclose();
sclose();
} catch (Exception e) {
} finally {
thistasetText("");
JOptionPaneshowMessageDialog(this, "发送成功");
Systemgc();
}
} else {
JOptionPaneshowMessageDialog(this, "你好像没有输入消息内容");
}
}
}
public static void main(String[] args) {
new Sa();
}
}
public class Meeting extends JFrame implements ActionListener, Runnable {
int w = thisgetToolkit()getScreenSize()width;// 屏幕宽
int h = thisgetToolkit()getScreenSize()height;// 屏幕高
ServerSocket ss = null;
int port = 10000;// 定义端口
String strlist[] = new String[5];// 装到list组件里
int strlists = 0;// 定义strlist的位置
String name = "这名真乖";// 用记名子,可以更改
JList list = new JList();// 定义下接菜单装IP用
JScrollPane jp = new JScrollPane(list);// 装下拉菜用
JButton b1 = new JButton("添加-ip");// 按钮添加IP用==ActionListener==ip
JButton ipm = new JButton("修改-ip");// 按钮添加IP用==ActionListener==ip
JButton b2 = new JButton("发送消息");// 按钮发送消息用==ActionListener==message
JButton b3 = new JButton("更改名子");// 按钮发送换名子用==ActionListener==name
JButton help = new JButton("使用帮助");
JButton broadcast = new JButton("群发消息");
JButton del = new JButton("删除-ip");// 删除IP
JLabel j = new JLabel("请大家正确使用,如果出现连接时间过长,有可能是IP错误,请大家等一会就好了");
JTextArea ta = new JTextArea();// 聊天记录
JScrollPane jpta = new JScrollPane(ta);// 装聊天记录的scroll
Socket socket = null;
String ip = null;
String ipaddres ;
Meeting() {
// jframe设计
thissetTitle("-->会话");
thissetSize(500, 600);
thissetVisible(true);
thissetLocation((w - 600) / 2, (h - 600) / 2);
thissetResizable(false);
thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
// 使用null布局
Container c = thisgetContentPane();
csetLayout(null);
fun();// 添加组件方法
try {
ss = new ServerSocket(10000);
Systemoutprintln("开始监听10000");
while (true) {
socket = ssaccept();
Systemoutprintln("有人连接10000");
new Thread(this)start();
Systemgc();
}
} catch (Exception e) {
}
}
public void fun() {
// 添加组件scroll--JList
try {
InetAddress addr = InetAddressgetLocalHost();
ip = addrgetHostAddress()toString();
} catch (Exception e) {
}
strlist[strlists++] = ip;
listsetListData(strlist);
thisadd(jp);
tasetEditable(false);
jpsetSize(150, 70);
jpsetLocation(340, 450);
// 添加组件b1添加IP==========添加IP 修改ip
thisadd(b1);
thisadd(ipm);
ipmsetSize(100, 20);
ipmsetLocation(340, 450 + 70 + 25);
ipmaddActionListener(this);
ipmsetActionCommand("ipm");
b1setSize(100, 20);
b1setLocation(340, 450 + 70);
b1addActionListener(this);// 添加监听
b1setActionCommand("ip");// 添加监听命令
// 添加组件b2======================发送消息
thisadd(b2);
b2setSize(100, 20);
b2setLocation(20, 450 + 10);
b2addActionListener(this);// 添加监听
b2setActionCommand("message");// 添加监听命令
// 添加组件b3=========================更改名子用
thisadd(b3);
b3setSize(100, 20);
b3setLocation(170, 450 + 10);
b3addActionListener(this);// 添加监听
b3setActionCommand("name");// 添加监听命令
// 添加组件del==========================删除IP
thisadd(del);
delsetSize(100, 20);
delsetLocation(230, 450 + 70 + 25);
deladdActionListener(this);// 添加监听
delsetActionCommand("del");// 添加监听命令
// 添加组件help==========================使用帮助
thisadd(help);
helpsetSize(100, 20);
helpsetLocation(20, 450 + 70 + 25);
helpaddActionListener(this);// 添加监听
helpsetActionCommand("help");// 添加监听命令
// 添加组件broadcast==========================小区广播
thisadd(broadcast);
broadcastsetSize(100, 20);
broadcastsetLocation(20, 450 + 53);
broadcastaddActionListener(this);// 添加监听
broadcastsetActionCommand("broadcast");// 添加监听命令
// 添加组件文本区域========================聊天记录
thisadd(jpta);
jptasetSize(450, 400);
jptasetLocation(20, 50);
tasetEditable(false);// 不可编辑
fun1();
// 添加JLabel
thisadd(j);
jsetSize(500, 20);
jsetLocation(10, 15);
}
public void fun1() {
String strname = JOptionPaneshowInputDialog("请输入一个昵称吧");
if (strname != null) {
thisname = strname;
} else {
JOptionPaneshowMessageDialog(this,
"你怎么不写名子啊???\n还好系统为你创建了名子\n名子为:\n这名真乖");
}
String strip = JOptionPaneshowInputDialog("请输入一个IP吧");
if (strip != null) {
if (istrue(strip)) {
strlist[strlists++] = strip;
Systemoutprintln(strlists);
listsetListData(strlist);
} else {
JOptionPaneshowMessageDialog(this, "请输入正确的IP");
}
} else {
JOptionPaneshowMessageDialog(this,
"你怎么不写好友IP啊???\n你不要好友的IP!你跟谁聊天啊\n"
+ "还好系统可以添加IP和修改IP\n学乖一点哦");
}
JOptionPaneshowMessageDialog(this, "你也可以把自己本机的IP添加到上面\n自己跟自己聊天--哈哈");
}
public void actionPerformed(ActionEvent e) {
String str = egetActionCommand();
if (strequals("ip")) {
Systemoutprintln("添加IP啦");
String ip = JOptionPaneshowInputDialog("请输入好友IP");
if (ip != null) {
if (istrue(ip)) {
strlist[strlists++] = ip;
listsetListData(strlist);
Systemoutprintln(strlists);
} else {
JOptionPaneshowMessageDialog(this, "请输入正确的IP");
}
}
}
if (strequals("ipm")) {
Systemoutprintln("修改IP啦");
if (listgetSelectedValue() != null) {
String ss = listgetSelectedValue()toString();
int i = listgetSelectedIndex();
Systemoutprintln("ip为" + ss + " 第 " + i + "数组");
String newip = JOptionPaneshowInputDialog("原IP为" + ss
+ "请输入新ip");
if (newip != null) {
if (istrue(newip)) {
strlist[i] = newip;
listsetListData(strlist);
} else {
JOptionPaneshowMessageDialog(this, "请输入正确的IP");
}
}
} else {
JOptionPaneshowMessageDialog(this, "请选一个IP,好不好");
}
}
if (strequals("message")) {
Systemoutprintln("发送消息");
if (listgetSelectedValue() != null) {
ipaddres = listgetSelectedValue()toString();
Sa sa = new Sa();
sasetDefaultCloseOperation(JFrameDISPOSE_ON_CLOSE);
} else {
JOptionPaneshowMessageDialog(this, "从右下边的IP库\n选一个IP");
}
}
if (strequals("name")) {
Systemoutprintln("改名子啦");
String strname = JOptionPaneshowInputDialog("原名为" + name
+ "\n请输入新名子");
if (strname != null) {
thisname = strname;
} else {
Systemoutprintln("你输入了null,可能是点取消了");
}
}
if (strequals("help")) {
JOptionPaneshowMessageDialog(this,
"添加好友的IP-->添加IP\n可以是内网也可以是外网\n确定好友上面也有本程序\n"
+ "然后选择好友的IP就可以发送消息了");
}
if (strequals("broadcast")) {
JOptionPaneshowMessageDialog(this,
"\n你所有的好友(ip)都可以接受到消息\n\n类似群发消息");
S s = new S();
ssetDefaultCloseOperation(JFrameDISPOSE_ON_CLOSE);
// broadcast();
}
if (strequals("del")) {
Systemoutprintln("删除IP啦");
if (listgetSelectedValue() != null) {
int i = listgetSelectedIndex();
strlist[i] = null;
listsetListData(strlist);
}
}
}
public void run() {
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(socket
getInputStream(), "GB2312"));
String line = brreadLine();
Systemoutprintln(line);
if (lineindexOf("6035") != -1) {
StringBuffer b = new StringBuffer(line);
bdelete(0, 4);
int x = 30;
int i = blength();
for(int j=0;j<=i/x;j++){
binsert(jx,"\n");
}
line = btoString();
thisbroadcast(line);
JOptionPaneshowMessageDialog(this, "通知\n" +name +"说:" + "\t"+line);
}
if (lineindexOf("5306") != -1) {
StringBuffer b = new StringBuffer(line);
bdelete(0, 4);
int x = 30;
int i = blength();
for(int j=0;j<=i/x;j++){
binsert(jx,"\n");
}
line = btoString();
thiss(line);
JOptionPaneshowMessageDialog(this, "通知\n" +name +"说:" + line);
}
} catch (Exception e) {
}
}
public void save(String str, int i) {
if (i == 1) {
// 接受的消息
thistasetText(tagetText() + str + "\n");
}
if (i == 2) {// 本地的消息
thistasetText(tagetText() + name + "说:" + str + "\n");
}
}
public void s(String str){
String mess = str ;
try {
Socket ss = new Socket(ipaddres, port);
PrintStream ps = new PrintStream(ssgetOutputStream(), true);
if (mess != null) {
save(mess, 2);
psprintln(name + "说:" + mess);
}
} catch (Exception e) {
JOptionPaneshowMessageDialog(this, "实例化失败\n"
+ listgetSelectedValue()toString()
+ "这个IP有问题\n请不要再点了\n确认清楚-->\n点修改IP或者删掉");
}
}
public void broadcast(String str) {
String mess = str;
int x = 1;
if (mess != null) {
for (int i = 1; i < strlists; i++) {
Systemoutprintln(strlist[i]);
if (strlist[i] != null) {
Socket ss;
try {
ss = new Socket(strlist[i], port);
PrintStream ps = new PrintStream(ssgetOutputStream(),
true);
if (x == 1) {
save(mess, 2);
x++;
}
psprintln(name + "说:" + mess);
psclose();
ssclose();
} catch (Exception e) {
JOptionPaneshowMessageDialog(this, strlist[i]
+ "连接不上\n ip不对或者对方是内网\n请删除或者修改\n以免影响使用");
}
}
}
x = 1;
}
}
public boolean istrue(String str) {
boolean flag = false;
flag = strmatches("(\\d{1,3})(\\d{1,3})(\\d{1,3})(\\d{1,3})");
return flag;
}
public static void main(String[] args) {
new Meeting();
}
}
int []arr = new int[n];//n为你要定义的数组长度
int []arr_ = new int[n];
static int j=0;
for(int i=0;i<arrlengh;i++)
{
if(arr[i]%2==0)
arr_[j++]=arr[i];
}
你的程序有一个大BUG,能正常运行只是你的运气问题(与环境/编译器有关的,所以clang++可以有正确结果)
问题主要在
str2[k]=str1[i];
你的str2没有申请内存(它缺少会有一定空间的,所以程序能运行)
你改为
str2+=str1[i];
就可以了
以上就是关于PTA-2017实验2.4 函数全部的内容,包括:PTA-2017实验2.4 函数、大一java课题代码,要求:复制粘贴后就能用的,1000行以上,可追加分数,看你的是不是没重复的,下载的不、写一个方法,将一个整形数组中的偶数复制到另一个数组中,用java写。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)