JAVA简单问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA简单问题相关的知识,希望对你有一定的参考价值。
1、编写一个程序,用于显示两个变量中存储的较大数,并检测较大数是偶数还是奇数。
2、编写一个程序,包括父类Addition类,子类NumberAddition类和TextConcatenation类,要求:
(1) 所有属性均在父类中声明,其初始化也必须在父类Addition构造方法中完成。
(2) 两个字类必须重写父类中名为add()的抽象方法。其中,add()方法在NumberAddition类中用于将两个数字相加,而在TextConcatenation类中则连接两个Strings(字符串)。
public static void main(String[] args)
int num = Integer.parseInt(args[0]);//接收一个参数
System.out.println(num + " 以内的素数为:");
int i, j, k;
boolean flag = true;
for (i = 2; i <= num; i++)
k = (int) Math.sqrt(i + 1);
for (j = 2; j <= k; j++)
if (i % j == 0)
flag = false;
break;
if (flag)
System.out.print(i + " ");
flag = true;
System.out.println("\n" + num + " 以内的Fibonacci数列");
int a = 1, b = 0, c;
for (int s = 1; s <= 100; s++)
c = a + b;
a = b;/* 将b赋值给a */
b = c;// 将 c 赋值给 c
System.out.print(c + " ");
参考技术B 第一题代码可简单化为:
public class <类名>
public static void main(String[] args)
int num1=?//插入一个参数; int num2=?//接收另一个参数 ;
int num3=null;
if(num1>num2)
num3=num1;
else
num3=num2;
System.out.print("较大数为:"+num3);
if(num3%2==0)
System.out.print("此数为偶数!");
else
System.out.print("此数为奇数!");
参考技术C 第一题更简洁的代码
public calss 类名
public static void main(String[] args)
int i1=(数字1),i2=(数字2),result=0;
result=i1>i2?i1:i2;
System.out.pritnln(result);
if(result%2==0)
System.out.println("结果为偶数");
else
System.out.println("结果为基数");
参考技术D 第二题代码如下:
class Addition
int number;
String str;
Addition(int element)
number=element;
Addition(String s)
str=s;
public void add(int antherNumber)
public void add(String anotherString)
class TextConcatenation extends Addition
TextConcatenation(String s)
super(s);
public void add(String string)
String s;
s=str+string;
System.out.println(s);
class NumberAddition extends Addition
NumberAddition(int x)
super(x);
public void add(int a)
int c;
c=a+number;
System.out.println(c);
public class AdditionTest
public static void main(String[] args)
TextConcatenation s=new TextConcatenation("Love");
String s1="China";
s.add(s1);
NumberAddition a=new NumberAddition(10);
int b=12;
a.add(b);
我的简单项目 BiFunction 问题 Java [重复]
【中文标题】我的简单项目 BiFunction 问题 Java [重复]【英文标题】:My simple project BiFunction problem Java [duplicate] 【发布时间】:2021-06-23 06:22:59 【问题描述】:大家好,我怎样才能在 Bifunction 中使用超过 3 个参数?所以我会同时使用标签和项目
public Flux<TaskDto> findAll()
Flux<Task> taskFlux = tasksRepository.findAll();
Flux<Due> dueFlux = dueRepository.findAll();
Flux<Project> projectFlux = projectRepository.findAll();
return Flux.zip(taskFlux,dueFlux,taskDueTaskDtoBiFunction);
private final BiFunction<Task,Due,TaskDto> taskDueTaskDtoBiFunction = (x1, x2) -> TaskDto.builder()
.id(x1.getId())
.url(x1.getUrl())
.content(x1.getUrl())
.orderdata(x1.getOrderdata())
.completed(x1.getCompleted())
.comment_count(x1.getComment_count())
.priority(x1.getPriority())
.due(Due.builder().recurring(x2.getRecurring()).my_data(x2.getMy_data()).my_string(x2.getMy_string()).id(x2.getId()).build())
.build();
【问题讨论】:
BiFunction 接受 2 个 (Bi) 参数。你需要编写自己的 try 函数接口,R apply(T t, U u, V v);
没有尼古拉斯不要我的问题
其实我的问题是 r2dbc 连接表,一个星期我找不到如何打印它,你有什么可以推荐给我的吗?
如果你能帮助我,我会很高兴
是的,我建议您让您的问题易于理解。
【参考方案1】:
如何在 Bifunction 中使用超过 3 个参数?
你不能。 Bifunction 特别接受两个参数,并返回一个值。这永远不会改变。
但是,我认为您实际上在这里问的是如何将两个以上的 Flux
发布者压缩成一个自定义类型,而 corresponding zip method 只需要两个发布者,然后 BiFunction
将它们合并。
对于两个以上的发布者,我们有一个further overload of zip,它允许您指定任意数量的发布者,以及一个将它们组合成一个集合类型的组合器。该函数采用Object[]
,然后您将其转换为相应的元素,因此在您的情况下,它将类似于:
private final Function<Object[],TaskDto> function = (Object[] arr) -> TaskDto.builder()
.id(((Task)arr[0]).getId())
.url(((Task)arr[0]).getUrl())
.content(((Task)arr[0]).getUrl())
.orderdata(((Task)arr[0]).getOrderdata())
.completed(((Task)arr[0]).getCompleted())
.comment_count(((Task)arr[0]).getComment_count())
.priority(((Task)arr[0]).getPriority())
.due(Due.builder().recurring(((Due)arr[1]).getRecurring()).my_data(((Due)arr[1]).getMy_data()).my_string(((Due)arr[1]).getMy_string()).id(((Due)arr[1]).getId()).build())
.build();
请注意,此 zip 重载使用可变参数,因此需要先指定函数参数,因此您的 return 语句随后会更改为 return Flux.zip(function,taskFlux,dueFlux);
之类的内容。
【讨论】:
以上是关于JAVA简单问题的主要内容,如果未能解决你的问题,请参考以下文章
关于FilterInputStream一个很简单的JAVA问题